iOS音频样本只能在耳机输出上播放
问题描述:
我正在开发一个程序,它在按下按钮时播放短样本。问题是它只能通过耳机输出而不是通过设备的扬声器播放。我试过了.wav和.aiff以及AVAudioPlayer和SystemSoundID。在模拟器上,我可以听到声音。我正在使用iPod Touch第4代。运行iOS 4.1。示例代码:iOS音频样本只能在耳机输出上播放
NSString *soundFile = [[NSBundle mainBundle] pathForResource:@"button" ofType:@"wav"];
NSURL *url = [NSURL fileURLWithPath:soundFile];
AudioServicesCreateSystemSoundID((CFURLRef)url, &buttonID);
AudioServicesPlaySystemSound(buttonID);
编辑(找到解决方案):我试着用另一个.wav文件,它工作。奇怪,因为iOS支持原始的.wav格式。
答
听起来像你已经解决了这个问题,但作为一个单挑,你应该只使用SystemSoundID风格回放用户界面相关的声音。
如果音频是应用程序的关键部分,则需要设置适当的AVAudioSession类别并使用(例如)AVAudioPlayer播放方法。
然后再次,这可能不相关。 :-)