Estoy creando una aplicación usando monotouch. Básicamente, necesito reproducir un mp3 tan pronto como se cargue la aplicación. En los main.cs que añade este fragmento antes de empujar el controlador principal:reproducir mp3 con 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();
}
Pero cuando comienzo a la aplicación que se puede escuchar el sonido durante aproximadamente medio segundo y luego nada. ¿Este código es correcto o hay algún problema?
Gracias
acabo de llamar a una función para reproducir el audio desde el interior public override bool FinishedLaunching (aplicación UIApplication, Opciones de NSDictionary) { PlayAudio(); } y la función PlayAudio contiene el código de mi pregunta – iFrankz
Disculpe, ¿el estado no es claro? ¿Funciona (lo asumiré desde que aceptó la respuesta)? Lo importante a recordar es que el 'player' continúa trabajando/jugando * después de que' 'FinishedLaunching' regrese, por lo que la instancia de ese objeto todavía tiene que estar * alive * (y no recopilada). – poupou
Sí promocioné la variable en un campo y funcionó. Supongo que el problema estaba relacionado con la acción del GC. Muchas gracias poupou – iFrankz