Phonegap: reproduce audio local cuando el teléfono está bloqueado iOS 6

Estoy creando una aplicación con PhoneGap que necesita poder reproducir files locales .mp3 aunque el teléfono esté bloqueado / en espera. El reproductor de audio está construido en HTML5 y funciona correctamente, pero la música se detiene cuando cierro la aplicación o apago el teléfono.

Intenté seguir la respuesta que se da en este enlace UIWebView: el audio HTML5 se detiene en iOS 6 cuando la aplicación entra en segundo plano

Pero sin suerte …

Hice el código de import en la parte superior con las otras funciones de import. Y también incluyé el marco AVFoundation en mi objective.

Así es como se ve el código en AppDelegate.m

/** * This is main kick off after the app inits, the views and Settings are setup here. (prefernetworking -iOS4 and up) */ - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions { /* THE GOOD STUFF */ AVAudioSession *audioSession = [AVAudioSession shanetworkingInstance]; BOOL ok; NSError *setCategoryError = nil; ok = [audioSession setCategory:AVAudioSessionCategoryPlayback error:&setCategoryError]; if (!ok) { NSLog(@"%s setCategoryError=%@", __PRETTY_FUNCTION__, setCategoryError); } 

Lo intenté en simulador y en iPhone 5.

¿Alguien puede ayudar?

En primer lugar, debes configurar tu categoría de audio en tu app_name-info.plist Categoría de audio de la aplicación

Luego, use el reproductor de medios API de phonegap http://docs.phonegap.com/es/2.7.0/cordova_media_media.md.html#media.play

 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 }); 

Tenga en count que playAudioWhenScreenIsLocked pnetworkingeterminada como verdadera.

Tenga en count también en el simulador que el audio nunca funcionará en segundo plano, por lo que necesitará probar en un dispositivo.

Marque como respuesta si esto ayudó