2013-05-23 3 views
4

Je construis une application en utilisant PhoneGap qui doit pouvoir lire les fichiers .mp3 locaux même si le téléphone est verrouillé/en veille. Le lecteur audio est construit en HTML5 et fonctionne correctement, mais la musique s'arrête lorsque je ferme l'application ou que j'éteins le téléphone.Phonegap - lit l'audio local lorsque le téléphone est verrouillé iOS 6

J'ai essayé après la réponse donnée à ce lien UIWebView: HTML5 audio pauses in iOS 6 when app enters background

Mais pas de chance ...

Je l'ai fait le code d'importation en haut avec les autres fonctions d'importation. Et j'ai également inclus le framework AVFoundation à ma cible.

Voici comment le code regarde dans le 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); 
    } 

J'ai essayé dans le simulateur et sur iPhone 5.

Quelqu'un est-il en mesure d'aider?

Répondre

4

Tout d'abord, vous devez définir votre catégorie audio dans votre app_name-info.plist App Audio Category

ensuite utiliser le lecteur multimédia API PhoneGap http://docs.phonegap.com/en/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 }); 

Notez les playAudioWhenScreenIsLocked par défaut vrai de toute façon.

Notez également dans le simulateur que l'audio ne fonctionnera jamais en arrière-plan, vous devrez donc tester sur un périphérique.

Veuillez marquer comme répondu si cela a aidé?

+0

L'audio joue déjà très bien, et je n'ai pas utilisé l'API phonegap. J'ai essayé une fois et ça n'a pas marché. Dois-je l'utiliser pour que l'audio joue en arrière-plan? Merci pour votre réponse! – Kasper

+0

Oui, malheureusement. –

Questions connexes