我正在尝试编写一些非常简单的代码来播放音频文件。代码在iPad2模拟器上运行良好。但是,在我的iPad2设备上,[audooPlayer play]返回false,没有听到音频。
我已经尝试了.caf和.wav文件。我已重新启动iPad2并确保静音开关已关闭。有关如何调试的任何提示非常赞赏。
示例代码:
- (void)playAudio {
NSString *file = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"wav"];
url = [NSURL fileURLWithPath:file];
NSError *error = nil;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
if (error != nil) {
NSLog(@"Error creating audio player: %@", [error localizedDescription]);
return;
}
[audioPlayer setDelegate:self];
if (![audioPlayer prepareToPlay]) {
NSLog(@"Error preparing audio");
return;
}
// Everything works fine up to this point
if (![audioPlayer play]) {
// I hit this on hardware. Works perfect on the simulator.
NSLog(@"Error playing audio");
return;
}
答案 0 :(得分:12)
[[AVAudioSession sharedInstance] setActive: NO error: nil];
录制完成后。这显然导致AVAudioPlayer无法播放音频。将呼叫更改为
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];
反而修复了一些事情。很奇怪,这不是模拟器中的问题,但会导致硬件问题。