我正在使用以下代码来播放.通过 Monotouch 在 iPad 应用程序中的 CAF 文件:
public void PlayClick()
{
PlaySound("Media/Click.caf");
}
private void PlaySound(string soundFile)
{
//var mediaFile = NSUrl.FromFilename(soundFile);
//var audioPlayer = new SystemSound(mediaFile);
//audioPlayer.PlaySystemSound();
var audioPlayer = new SystemSound(soundFile);
if (audioPlayer != null)
{
audioPlayer.PlaySystemSound();
}
}
它在模拟器中找到了 - 事实上,我尝试过的所有变体(SystemSound,AVAudioPlayer等)似乎都可以在模拟器中正常工作,但我还没有在真实设备上播放的版本。 声音文件都标记为内容,我检查了上传到iPad的捆绑包,这些文件肯定在名为"媒体"的子文件夹中。 如果我将代码更改为使用 SystemSound(通过带有 URL 的构造函数),我会得到一个包含详细信息的 InvalidOperationException:
无法为 url 创建系统声音 ID,file://localhost/private/var/mobile/Applications/AC24496E-12E9-4690-B154-BA1AD1123EDC/Sample.app/Media/Click.caf;错误 = 系统声音未指定
有人知道我做错了什么吗? 感谢您的任何指示,让我解决这个问题!
模拟器区分大小写,但实际设备区分大小写。 这绊倒了很多人。