Buduję aplikację za pomocą monotouch. Zasadniczo muszę odtworzyć plik mp3 zaraz po załadowaniu aplikacji. Na main.cs dodałem ten fragment przed pchania główny sterownik:odtwarzanie mp3 z 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();
}
Ale kiedy uruchomić aplikację słyszę dźwięk przez około pół sekundy, a potem nic. Czy ten kod jest prawidłowy, czy coś jest nie tak?
Dzięki
Po prostu wywołuję funkcję odtwarzania dźwięku z wnętrza public override bool FinishedLaunching (aplikacja UIApplication, Opcje NSDictionary) { PlayAudio(); } i funkcja PlayAudio zawiera kod na moje pytanie – iFrankz
Niestety, status nie jest jasny? czy to działa (przyjmę to, odkąd przyjąłeś odpowiedź)? Ważną rzeczą do zapamiętania jest to, że 'player' kontynuuje pracę/grę * po tym, jak * zwróci" FinishedLaunching ", więc instancja tego obiektu musi nadal być * żywa * (i nie może być zebrana). – poupou
Tak, wypromowałem zmienną w polu i zadziałało. Zakładam, że problem był związany z działaniem GC. Wielkie dzięki poupou – iFrankz