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
可能会导致一些奇怪的问题。
我有以下代码来播放一些简短的音频,虽然它在 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
可能会导致一些奇怪的问题。