相关文章推荐

IOS Swift 如何设置开发的app音频与其他app不冲突

这里我们就要在初始化AVAudioSession的时候改一下设置的类别,选择mixWithOthers

 //注册后台播放
        let session = AVAudioSession.sharedInstance()
            try session.setCategory(AVAudioSession.Category.playback, options: AVAudioSession.CategoryOptions.mixWithOthers)
            try session.setActive(true)
        } catch {
            print(error)
这样就能让我们运行app的音频时不与其他的冲突了

1.AVAudioSessionCategoryOptionMixWithOthers:
有效的只有音频会话类是avaudiosessioncategoryplayandrecord或avaudiosessioncategoryplayback。(隐式如果会话类是avaudiosessioncategoryambient。)
如果你在使用这个选项的时候播放你的音频或视频,你的app的音频不会中断从其他app(如音乐app)的音频。如果不使用此选项(或一类隐式混合),播放你的音频或者视频会打断其他无混合会话。

2.AVAudioSessionCategoryOptionDuckOthers:
使音频从其他会话可以回避(减小体积)而从这届起音。
有效的只有音频会话类是avaudiosessioncategoryplayandrecord或avaudiosessioncategoryplayback。
使用此选项,如果你想从你的应用程序的音频(例如,语音提示在导航应用程序),以听音乐或其他目前播放音频。注意,在开始时,启动您的应用程序的音频会议结束时关闭会话。
如果你的应用程序提供了偶尔的语音,如在一个转弯导航APP或锻炼的应用程序,你也应该用avaudiosessioncategoryoptioninterruptspokenaudioandmixwithothers选项。

3.AVAudioSessionCategoryOptionAllowBluetooth:
允许蓝牙免提设备出现可用的输入途径。

4.AVAudioSessionCategoryOptionDefaultToSpeaker:
从会话到内置扬声器的音频通道默认。
有效的只有音频会话类是avaudiosessioncategoryplayandrecord。
当使用此选项,没有其他音频路由(如耳机)是可用的,会话音频将播放通过该设备的内置扬声器。当不使用此选项,并且没有其他的音频输出是可用或选择,音频将播放通过接收器(一个发言者打算举行的耳朵)。注意:只有iPhone设备都配备一个接收器;在ipad和iPod-touch设备,此选项不起作用。

iOSAVAudioSession 设置 我们的项目是做录音和播放的,但是当启动录音的时候,播放的声音就会变小,声音变成听筒模式。通常会设置AVAudioSession 来将声音重定向为麦克风模式 [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAu... 参考文章:https://www.jianshu.com/p/3e0a399380df 在本App中AVAudioSession.sharedInstance()会使得其他App的背景音乐停止。应该本应用使用时候其他App背景音乐暂停,使用后恢复 1、可以在开启录音或播放时候 AVAudioSession.sharedInstance().setActive(true) 2、在录音完毕或播... iOS提供AVPictureInPictureController用于画中画播放控制,但是只能绑定AVPlayer使用,对于开发者来说挺头痛的。在iOS 15.0后呼之欲出,支持SampleBufferDisplayLayer自定义数据源显示图层,意味着我们可以自定义第三方播放器实现画中画。以ijkplayer为例,让我们一起探索如何支持画中画播放。 ios AudioQueueStart returns -50 录音失败问题 使用iOS录音时,如果在应用的别处有语音的操作,可能会出现上述问题; 导致录音机打开失败!无法录音,并且  AudioQueueStart() 返回的错误码 -50 在调用 AudioQueueStart()方法之前,调用如下代码 AVAudioSession * sessi... 连接地址http://www.samirchen.com/ios-avaudiosession-3/ AVAudioSession类由AVFoundation框架引入。每个iOS应用都有一个音频会话。这个会话可以被AVAudioSession类的sharedInstance类方法访问,如下 在获得一个AVAudioSession类的实例后,你就能通过调用音频会话对象的set... AVAudioSession类由AVFoundation框架引入,AVAudioSession是一个单例模式,也就是说,不用开发者自行实例化.每个IOS应用都有一个音频会话。这个会话可以被AVAudioSession类的sharedInstance类方法访问,如下: import AVFoundation var audioSession = AVAudioSession.share AVAudioSession类由AVFoundation框架引入。每个IOS应用都有一个音频会话。这个会话可以被AVAudioSession类的sharedInstance类方法访问,如下: AVAudioSession *audioSession = [AVAudioSession sharedInstance]; 在获得一个AVAudioSession类的实例后,你就能通过调用音频会话对象的...
 
推荐文章