系统声音在iPhone模拟器中播放,但在iPhone上不播放



我想在我的iphone上播放系统声音,声音在模拟器中播放得很好,但在设备上不起作用。

- (IBAction)SystemSound:(id)sender {
    NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"waterfall"      ofType:@"caf"];
    NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];
    AudioServicesCreateSystemSoundID((__bridge CFURLRef)soundFileURL, &systemSound);
    AudioServicesPlaySystemSound(systemSound);
}

在处理上面列出的代码问题之前需要检查的其他几件事:

1)你的手机有蓝牙耳机吗?如果是这样,音频将会显示在那里,而不是您的外部扬声器。

2)你的声音静音了吗?检查侧面的开关和你的设置

这是许多开发人员浪费时间的一个小细节:

真的,这一切归结为:

  • iPhone 模拟器:大小写不敏感
  • 设备iOS
  • :案例——敏感

所以,你的代码中可能有"瀑布",但实际的音名是"瀑布"。甚至可以是"瀑布"。

这在模拟器上可以正常工作,但在设备上不能 -设备根本找不到声音。

这在我身上发生过,从声音到图像再到列表。

检查你的箱子!

另外,AudioServices有一些指导方针,关于什么可以在设备上播放,什么不能:

使用此功能播放的声音文件必须是:- 持续时间不超过30秒 -线性PCM或IMA4 (IMA/ADPCM)格式- 打包为。caf,。aif或。wav文件

最新更新