美文网首页
Audio - AVAudioSession

Audio - AVAudioSession

作者: ienos | 来源:发表于2024-03-17 16:28 被阅读0次

AVAudioSession 和 App 之间的关系

image.png 334e3ee76c6779bf3929a1466b59c705__preview_type=16.png

每个 App 有对应的 AVAudioSession 实例对象,它是介于应用程序与设备音频硬件之间的中介

func setUp() {
    let session = AVAudioSession.sharedInstance()
    do {
        try session.setCategory(.playAndRecord)
        // 启动 AudioSession
        try session.setActive(true)
    } catch {
        
    }
}

AVAudioSession.Category

枚举 作用
ambient 用于非主要音频,例如背景音乐或环境音效。当其他音频应用程序开始播放时,该应用程序的音频会被淡出
soloAmbient 类似于.ambient,但当该应用程序的音频开始播放时,其他音频应用程序的音频会被淡出
playback 用于主要音频播放,例如音乐播放器或媒体应用程序。其他音频应用程序的音频将被停止
record 用于音频录制,例如录音应用程序。其他音频应用程序的音频将被停止
playAndRecord 用于同时进行音频播放和录制的应用程序,例如VoIP应用程序。它允许应用程序在录制和播放音频时同时进行
multiRoute 用于支持多个音频输出路径的应用程序,例如连接到扬声器和耳机的应用程序

AVAudioSession 的功能

  • 设置类别 AVAudioSession.Category
  • 处理音频中断、中断结束以及硬件音频路由更改事件
  • 针对硬件特性进行优化

获取麦克风的采样率

let hwFormat = audioSession.preferredSampleRate

相关文章

网友评论

      本文标题:Audio - AVAudioSession

      本文链接:https://www.haomeiwen.com/subject/bxgozdtx.html