Продолжайте воспроизведение аудио, когда iPhone заблокирован, как приложение iPod - PullRequest
1 голос
/ 19 января 2012

Мне нужно продолжить воспроизведение, даже когда пользователь заблокировал телефон.Я видел какое-то решение по Интернету, но ни одно из них не работает, например:

AudioSessionSetActive(true);
    // Set up audio session, to prevent iPhone from deep sleeping, while playing sounds
    UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
    AudioSessionSetProperty (
                             kAudioSessionProperty_AudioCategory,
                             sizeof (sessionCategory),
                             &sessionCategory
                             );

Я включаю AVFoundation, AudioToolbox и MediaPlayer.

Ответы [ 3 ]

5 голосов
/ 21 января 2012

Я наконец понял, как это сделать! Для будущих гуглеров (если SOPA и PIPA не убивают Google до тех пор):

Прежде всего, включите в ваш проект следующие фреймворки: AudioToolbox, CoreAudio, MediaPlayer и AVFoundation. Импортируйте их все в viewController, где будет размещен ваш плеер. После того, как вы распределили и начали воспроизводить аудио, введите следующий код:

UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty (kAudioSessionProperty_AudioCategory, sizeof (sessionCategory), &sessionCategory);
AudioSessionSetActive(true);

И, наконец, перейдите в файл Info.plist вашего приложения и добавьте строку с именем UIBackgroundModes. Новая строка будет массивом и будет содержать 1 элемент, элемент 0. Для этого вы просто установите значение как audio. И вы сделали! Наслаждайтесь игрой в фоновом режиме!

0 голосов
/ 27 февраля 2012

Если у вас есть список воспроизведения, например, и вы хотите воспроизвести следующую песню в фоновом режиме или в режиме блокировки, добавьте эту строку кода в viewDidLoad:

[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];

Это позволяет приложению поддерживать события дистанционного управления.

0 голосов
/ 19 января 2012

См. Следующие ссылки:

Как продолжить воспроизведение музыки после автоблокировки экрана

Воспроизведение звука при заблокированном iPhone

как воспроизводить музыку с помощью AVAudioPlayer при заблокированном экране

Попробуйте :

// Set up audio session, to prevent iPhone from deep sleeping, while playing sounds
UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;

AudioSessionSetProperty (kAudioSessionProperty_AudioCategory, sizeof (sessionCategory), &sessionCategory);

AudioSessionSetActive(true);
...