簡體   English   中英

用monotouch播放mp3

[英]play mp3 with monotouch

我正在使用monotouch構建應用程序。 基本上我需要在應用程序加載后立即播放mp3。 在main.cs上,我在推送主控制器之前添加了這個片段:

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

但是當我啟動應用程序時,我可以聽到大約半秒的聲音,然后什么都沒有。 這段代碼是正確的還是有問題?

謝謝

沒有更多上下文就很難提供答案,比如更多的代碼:-)

我懷疑你的AVAudioPlayer ,如果用作局部變量,當方法(它是FinishedLaunching ?)返回時,垃圾收集器(GC)可以收集它。

如果是這種情況,那么將本地player變量提升到字段中將確保向AVAudioPlayer實例保留引用,並允許它在不中斷(或崩潰)的情況下播放。

如果我錯了,請編輯您的問題並向我們提供更多背景信息,我們應該能夠為您提供進一步的幫助。

現在真的很容易:

            //enable audio
            AudioSession.Initialize();

            //load the sound
            sound = SystemSound.FromFile("Sounds/rev.wav");
            sound.PlaySystemSound();

嘗試注冊AVAudioPlayerDelegate並在audioPlayerEndInterruption方法中重新開始音樂備份。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM