AVPlayer 真机测试没有声音

问题:AVPlayer实现的音乐播放器,模拟器和给真机插上耳机的情况下有声音,但是拔了耳机就没有声音
解决方案 :加上下面这几行代码就可以

//可播放可录音,更可以后台播放,还可以在其他程序播放的情况下暂停播放
AVAudioSession *session = [AVAudioSession sharedInstance];
        [session setCategory:AVAudioSessionCategoryPlayAndRecord
                 withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker
                       error:nil];

catagory的属性

1. AVAudioSessionCategoryAmbient:

以语音为主,在用户按下静音键或者在应用程序关闭的时候静音,但不会影响其他的应用播放声音,不支持后台比方

2. AVAudioSessionCategorySoloAmbient;

(solo是独奏的意思),默认是该category,与上面AVAudioSessionCategoryAmbient相同,但是因为solo这个单词的存在使他不得不独奏,所以会终止其他应用的播放,如注释所说Use this category for background sounds. Other music will stop playing. */

3. AVAudioSessionCategoryPlayback:

语音为主,如其字面表达的那样,可以在后台播放,所以不会随着静音键合屏幕关闭而静音

4. AVAudioSessionCategoryPlayAndRecord:

可播放也可录音,该category下声音默认出口是听筒,在该模式下要切换到扬声器通过下面方式
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayAndRecord
withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker
error:nil];

5. AVAudioSessionCategoryRecord:

单纯提供录音功能

详情参考http://blog.csdn.net/xy5811/article/details/8563137

猜你喜欢

转载自blog.csdn.net/li15809284891/article/details/53516868