我想在我的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文件