使用单点触控在 iPad 设备上播放声音时出现问题



我正在使用以下代码来播放.通过 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;错误 = 系统声音未指定

有人知道我做错了什么吗? 感谢您的任何指示,让我解决这个问题!

模拟器区分大小写,但实际设备区分大小写。 这绊倒了很多人。

最新更新