我想在我的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);
}
答案 0 :(得分:5)
以下是许多开发人员浪费时间的小细节:
真的,这一切归结为:
所以,你的代码中可能有'瀑布',但实际的声音名称是'瀑布'。它甚至可能像'wAtErFaLl'。
这可以在模拟器上正常工作,但设备上不 - 设备根本无法找到声音。
对于我来说,从声音到图像再到一切都是如此。
此外,AudioServices在设备上可以播放的内容中有一些guidelines,但不能:
使用此功能播放的声音文件必须: - 持续时间不超过30秒 - 采用线性PCM或IMA4(IMA / ADPCM)格式 - 打包在.caf中,.aif或.wav文件
答案 1 :(得分:5)
在追逐上面列出的代码问题之前,还要检查其他事项:
1)您的手机是否与蓝牙耳机配对?如果是这样,音频将会出现在那里而不是外部扬声器。
2)你的音频是否静音?检查侧面的开关和设置。