Phonegap - проигрывать локальное аудио, когда телефон заблокирован iOS 6
Я создаю приложение с помощью PhoneGap, которое должно воспроизводить локальные файлы.mp3, даже если телефон заблокирован / находится в режиме ожидания. Аудио плеер встроен в HTML5 и работает нормально, но музыка останавливается, когда я закрываю приложение или выключаю телефон.
Я попытался следовать ответу, приведенному в этой ссылке UIWebView: HTML5-паузы в iOS 6, когда приложение входит в фоновый режим
Но не повезло...
Я сделал код импорта в верхней части с другими функциями импорта. И я также включил инфраструктуру AVFoundation в свою цель.
Вот так выглядит код в AppDelegate.m
/**
* This is main kick off after the app inits, the views and Settings are setup here. (preferred -iOS4 and up)
*/
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
/* THE GOOD STUFF */
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
BOOL ok;
NSError *setCategoryError = nil;
ok = [audioSession setCategory:AVAudioSessionCategoryPlayback
error:&setCategoryError];
if (!ok) {
NSLog(@"%s setCategoryError=%@", __PRETTY_FUNCTION__, setCategoryError);
}
Я пробовал в симуляторе и на iPhone 5.
Кто-нибудь может помочь?
1 ответ
Во-первых, вы должны установить аудио категорию в вашем app_name-info.plist
Затем используйте мультимедийный проигрыватель API телефонной связи http://docs.phonegap.com/en/2.7.0/cordova_media_media.md.html
function playAudio(url) {
// Play the audio file at url
var my_media = new Media(url,
// success callback
function() {
console.log("playAudio():Audio Success");
},
// error callback
function(err) {
console.log("playAudio():Audio Error: "+err);
});
// Play audio
my_media.play({ playAudioWhenScreenIsLocked : true });
Обратите внимание на playAudioWhenScreenIsLocked
по умолчанию в любом случае true.
Также обратите внимание, что в симуляторе звук никогда не будет работать в фоновом режиме, поэтому вам нужно будет протестировать устройство.
Пожалуйста, отметьте как ответили, если это помогло?