iOS AVPlayer播放没有声音的解决办法

系统的声音是需要我们手动去获取的,默认是没有声音的。
首先你要确保player的属性muted为NO,即非静音,当然NO是系统默认的。然后设置一下category即可

NSError *error = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:&error];

AVAudioSessionCategoryAmbient是一个字符串枚举,讲一下几个常用的category的含义:

// app的声音可与其它app共存,但锁屏和静音模式会被静音,除非当前app是唯一播放的app
AVAudioSessionCategoryAmbient
  
// 会停止其他程序的音频播放。当设备被设置为静音模式,音频会随之静音
AVAudioSessionCategorySoloAmbient 

// 仅用来录音,无法播放音频
AVAudioSessionCategoryRecord

// 会停止其它音频播放,并且能在后台播放,锁屏和静音模式都能播放声音
AVAudioSessionCategoryPlayback 

// 能播也能录,播放默认声音是从听筒出来
AVAudioSessionCategoryPlayAndRecord
  

上面提到的静音模式,指的是点击了iPhone手机上的静音按钮(静音按钮在AssistiveTouch,就是屏幕上的虚拟home键中比较容易找到),并不是指慢慢慢慢地降低声音直到静音,那不是静音模式,只是声音降到了0而已

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容