iPhone: фоновая музыка останавливается при выключенном экране и не продолжается при включенном экране? - PullRequest
0 голосов
/ 26 ноября 2009

У меня есть музыкальный файл, который работает в фоновом режиме (без остановки), когда мое приложение работает. Это мое требование. Но когда мое приложение работает, экран отключается в соответствии с установленным временем автоматической блокировки, музыка заканчивается. А потом снова при включении экрана, мое приложение приходит туда, но музыка не запускается. Это известная ошибка? (или) Как получить уведомление о включении экрана, чтобы я мог снова воспроизвести музыку. (или) как это решить?

Я использую этот код для воспроизведения музыки всегда ... - (недействительно) PlayLoopMusic {

NSString* path;
NSURL* url;
path = [[NSBundle mainBundle] pathForResource:@"music" ofType:@"mp3"];
url = [NSURL fileURLWithPath:path];

player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:NULL];
[player prepareToPlay];
//[player setVolume: 0.50];
player.numberOfLoops = -1;
[player setDelegate: self];


[player play];

} Спасибо.

1 Ответ

2 голосов
/ 30 ноября 2009

В дополнение к ответу Мориона:

Вы можете отключить автоматическую блокировку экрана следующим вызовом:

[UIApplication sharedApplication].idleTimerDisabled = YES;

Вы также можете убедиться, что воспроизведение продолжается, пока экран заблокирован вручную. Для этого вам нужно создать AudioSession:

AudioSessionInitialize(NULL, NULL, audioInterruptionListener, NULL);
UInt32 category = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory,
    sizeof(category), &category);
AudioSessionSetActive(YES);

audioInterruptionListener должна быть функцией, которая обрабатывает случаи, когда воспроизведение звука прерывается (например, во время входящего вызова) Вы можете прочитать больше об этом здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...