Я пытаюсь воспроизвести музыкальный файл на S60 5th edition со следующим кодом:
_LIT(KMusicFilename, "C:\\Data\\Music.mp3");
TApaTaskList iTaskList(CCoeEnv::Static()->WsSession());
TBool iExists;
TApaTask iApaTask = iTaskList.FindApp(TUid::Uid(0x102072C3));
iExists = iApaTask.Exists();
if(iExists)
{
// Music player already running
iApaTask.SwitchOpenFile(KMusicFilename);
iApaTask.BringToForeground();
}
else
{
// music player is not running and needs to be launched
RApaLsSession iAplsSession;
User::LeaveIfError(iAplsSession.Connect());
TThreadId thread;
iAplsSession.StartDocument( KMusicFilename,
thread,
RApaLsSession::ESwitchFiles );
iAplsSession.Close();
}
Проблема в том, что этот пример кода не работает, если музыкальный проигрыватель уже запущен. Медиафайл, который уже воспроизводился, продолжает воспроизводиться, функция SwitchOpenFile
не оказывает на него никакого влияния.
Есть ли обходной путь для этого?
Спасибо.