我在用monotouch构建一个应用程序。基本上我需要在应用程序加载后立即播放mp3。 在main.cs我主推控制器之前加入这个片段:用单声道播放mp3
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();
}
但是当我启动应用程序,我能听到的声音大约半秒,然后什么都没有。 此代码是否正确或者有问题?
感谢
我只是调用一个函数播放内部的音频 public override bool FinishedLaunching(UIApplication app, NSDictionary选项) { PlayAudio(); } 和PlayAudio函数包含我的问题代码 – iFrankz
对不起,状态不清楚?它是否工作(我会假设,因为你接受了答案)?需要记住的重要一点是''player'在* FinishedLaunching返回后继续工作/播放*,因此该对象的实例仍然需要* alive *(并且未收集)。 – poupou
是的,我将变量提升为一个字段并且工作。我认为这个问题与GC的行动有关。非常感谢poupou – iFrankz