iOS 7+;来自手机的AVAudioPlayer';内耳片

iOS 7+;来自手机的AVAudioPlayer';内耳片,ios,avaudioplayer,Ios,Avaudioplayer,我想知道如何使用AVAudioPlayer将音频播放到手机的内耳 当连接耳机时,音频应在其他耳机上播放,必须从内耳播放(AVAudioPlayer不得从手机底部扬声器播放) 有没有办法做到这一点?iOS 7+欢迎回答 有趣的是,关于安卓系统的问题还有多少答案,而iOS系统的问题回答得更少 这就是我设法找到的解决方案: NSError *error; // Initialize Audio Player _player = [[AVAudioPlayer alloc]initWithContent

我想知道如何使用AVAudioPlayer将音频播放到手机的内耳

当连接耳机时,音频应在其他耳机上播放,必须从内耳播放(AVAudioPlayer不得从手机底部扬声器播放)


有没有办法做到这一点?iOS 7+欢迎回答

有趣的是,关于安卓系统的问题还有多少答案,而iOS系统的问题回答得更少

这就是我设法找到的解决方案:

NSError *error;
// Initialize Audio Player
_player = [[AVAudioPlayer alloc]initWithContentsOfURL:[NSURL fileURLWithPath:_audioPath] error:&error];
// Set Audio Session to "Play and Record", UNFORTUNATELY this is the only way to play
// from the internal speaker. It asks the user to grant Recording permission to the app.
NSError *setCategoryError = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error: &setCategoryError];
[[AVAudioSession sharedInstance] setActive: YES error: nil];
if (setCategoryError) {
    CLS_LOG(@"Error routing audio: %@",setCategoryError);
    [self.navigationController popViewControllerAnimated:YES];
}
[_player prepareToPlay];
// And now you can play from the internal speaker.
你可以看到,我不得不使用它,因为它是唯一一种将音频传送到接收器(打电话时放在耳朵上的小扬声器)的类别,请参阅以供参考

实际上,有一种名为的方法看起来很有希望,但它只能用于
AVAudioSessionCategoryPlayAndRecord
强制设备使用外部扬声器,反之亦然