AudioServicesPlaySystemSound不会播放声音

时间:2015-07-22 22:34:00

标签: ios audio avfoundation avaudioplayer

我有以下代码来播放一些简短的音频,当它在iOS模拟器上播放时,它将无法在真实设备上播放。

NSString *fileName = @"some_file_name";

SystemSoundID alertSound;
NSURL *fileURL = [[NSBundle mainBundle] URLForResource:fileName
                                         withExtension:@"wav"];

AudioServicesCreateSystemSoundID((__bridge CFURLRef)fileURL, &alertSound);

AudioServicesPlaySystemSound(alertSound);

2 个答案:

答案 0 :(得分:0)

事实证明,我的代码库中的其他人正在设置

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryRecord]

这导致我的音频被静音。我通过将AVAudioSessionCategoryRecord更改为AVAudioSessionCategoryPlayAndRecord来解决此问题。

答案 1 :(得分:0)

我和你有类似的问题。但主要原因是我设置的类别不是记录类型。 所以我的解决方案是在录制声音之前设置类别[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryRecord error:nil];

我认为在录制声音之前设置类别为AVAudioSessionCategoryPlayback可能会导致一些奇怪的问题。