Je construis une application en utilisant monotouch. Fondamentalement, j'ai besoin de jouer un mp3 dès que l'application se charge. Sur les main.cs j'ai ajouté cet extrait avant de pousser le contrôleur principal:jouer mp3 avec monotouch
AVAudioPlayer player = new AVAudioPlayer();
NSUrl mediaFile = NSUrl.FromFilename("Content/Audio/music1.mp3");
player = AVAudioPlayer.FromUrl(mediaFile);
player.Delegate = new PlayerDelegate();
if(player.PrepareToPlay()){
player.Play();
}
Mais quand je commence l'application que je peux entendre le son pendant environ une demi seconde, puis rien. Ce code est-il correct ou quelque chose ne va pas?
Merci
j'appelle simplement une fonction de lecture audio à l'intérieur public override bool FinishedLaunching (app UIApplication, Options NSDictionary) { PlayAudio(); } et la fonction PlayAudio contient le code sur ma question – iFrankz
Désolé, le statut n'est pas clair? ça marche (je suppose que vous avez accepté la réponse)? Le bit important à retenir est que le 'player' continue à fonctionner/à jouer * après le retour de' 'FinishedLaunching', donc l'instance de cet objet doit toujours être * vivante * (et non collectée). – poupou
Oui, j'ai promu la variable dans un champ et cela a fonctionné. Je présume que le problème était lié à l'action du GC. Merci beaucoup poupou – iFrankz