AudioServicesPlaySystemSound 无法播放声音

AudioServicesPlaySystemSound Won't Play Sound

我有以下代码来播放一些简短的音频,虽然它在 iOS 模拟器上播放,但它不会在真实设备上播放。

NSString *fileName = @"some_file_name";

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

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

AudioServicesPlaySystemSound(alertSound);

事实证明,我的代码库中有人在设置

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryRecord].

这导致我的音频被静音。我通过将 AVAudioSessionCategoryRecord 更改为 AVAudioSessionCategoryPlayAndRecord.

来解决此问题

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

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