AVAudioPlayer播放音乐上的音频播放在电话的声音盒上

时间:2014-11-09 14:07:08

标签: ios objective-c avfoundation avaudioplayer

我有一个使用AVAudioPlayer的简单代码来播放.caf音频:

AppDelegate.h

AVAudioPlayer *_audioPlayer;

AppDelegate.m

- (void)playAudio{

    NSArray *dirPaths;
    NSString *docsDir;

    dirPaths = NSSearchPathForDirectoriesInDomains(
                                                   NSDocumentDirectory, NSUserDomainMask, YES);
    docsDir = dirPaths[0];

    NSString *soundFilePath = [docsDir
                               stringByAppendingPathComponent:audiosrc];

    NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];


    _audioPlayer = [[AVAudioPlayer alloc]
                        initWithContentsOfURL:soundFileURL
                        error:nil];

    _audioPlayer.volume = 1.0;

    [_audioPlayer play];



}

音频播放效果非常好,但他没有通过设备的扬声器运行音频,而是在拨打电话的扬声器上运行音频,从而使音频变得非常低,如何解决和改变音箱?

1 个答案:

答案 0 :(得分:2)

尝试将以下内容添加到playAudio方法的顶部:

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