让AVAudioPlayer通过电话(耳机)扬声器播放音乐文件

时间:2015-09-09 10:00:47

标签: ios objective-c avaudioplayer

我想通过耳机播放音乐文件,

我现在正在做的是:

viewDidLoad 方法中::::

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive: YES error: nil];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];

viewDidLoad ::::

中初始化音乐文件
musicFile = [NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"1985_Ring_" ofType:@"wav"]];                                                                        
click = [[AVAudioPlayer alloc] initWithContentsOfURL:musicFile  error:nil];

现在在方法:::::

中路由音频后播放文件
[[AVAudioSession sharedInstance] overrideOutputAudioPort:kAudioSessionOverrideAudioRoute_None error:nil];
[click2 play];

通过扬声器播放。请指导我正确的方法!

1 个答案:

答案 0 :(得分:1)

您需要像这样更改AVAudioSession的类别:

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];

Audio Session Programming Guide中找到更多详情:

  

您可以通过编程方式影响音频输出路径。使用时   AVAudioSessionCategoryPlayAndRecord类别,音频通常会发生   到接收器(你在耳机上握住的小扬声器)   电话)。