当用户点击特定按钮时,我试图播放短促的声音。但问题是我总是收到 未设置为实例对象 的对象引用。意味着空!

我首先尝试了 MonoTouch.AudioToolBox.SystemSound。

MonoTouch.AudioToolbox.AudioSession.Initialize();
MonoTouch.AudioToolbox.AudioSession.Category = MonoTouch.AudioToolbox.AudioSessionCategory.MediaPlayback;
MonoTouch.AudioToolbox.AudioSession.SetActive(true);

var t = MonoTouch.AudioToolbox.SystemSound.FromFile("click.mp3");
t.PlaySystemSound();

让我注意到“click.mp3”在我的根解决方案文件夹中,它被标记为内容。
另一种方法是 MonoTouch.AVFoundation.AVAudioPlayer
var url = NSUrl.FromFilename("click.mp3");
AVAudioPlayer player = AVAudioPlayer.FromUrl(url);
player.FinishedPlaying += (sender, e) => { player.Dispose(); };
player.Play();

但同样的错误。我用谷歌搜索了一下,发现很多人都有这个问题。我们需要知道它是否是一个错误。

最佳答案

您的代码看起来正确(我与能够播放音频的代码 here 进行了比较)。

可能的问题是音频文件未以某种方式包含在应用程序包中。您可以使用以下代码轻松检查它:

if (!System.IO.File.Exists ("click.mp3"))
    Console.WriteLine ("bundling error");

关于c# - MonoTouch : Playing sound,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9905008/

10-13 03:52