2
我使用下面的代码通过MonoTouch的发挥iPad的应用程序文件的.caf:问题播放声音的iPad设备上使用MonoTouch的
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的包,这些文件绝对存在于名为“Media”的子文件夹中。如果我改变使用SystemSound(通过使用URL构造函数)的代码,我得到一个InvalidOperationException异常与细节:
无法为URL文件创建系统声音ID://本地主机/私营/无功/移动/Applications/AC24496E-12E9-4690-B154-BA1AD1123EDC/Sample.app/Media/Click.caf;错误= SystemSoundUnspecified
任何人都知道我在做什么错了?感谢任何指点,让我通过这个问题!
唉!设备文件系统区分大小写。文件名实际上命名为“click.caf”..不是“Click.caf”。显然模拟器不太挑剔!问题解决了。没有什么可以在这里看到.. :-) – 2011-05-09 13:47:31