使用 AVAudioSession 快速检测其他音频的属性

Posted

技术标签:

【中文标题】使用 AVAudioSession 快速检测其他音频的属性【英文标题】:Swift detect properties of Other Audio with AVAudioSession 【发布时间】:2019-02-13 21:12:25 【问题描述】:

AVAudiosession 提供了一个 isOtherAudioPlaying 属性来确定另一个应用程序是否正在播放音频。有没有办法通过这个 API 来确定这个背景音频信号的属性(音频数据本身、音量等),或者这在 iOS 中是不可能的?如果需要,我愿意使用其他工具而不是 AVAudioSession。

【问题讨论】:

【参考方案1】:

这是不可能的。您不会获得有关其他进程的音频会话的信息。这将是一个重大的隐私问题。在 iOS 8 之后,isOtherAudioPlaying 本身不鼓励使用。(Apple 建议 secondaryAudioShouldBeSilencedHint 的主要目的是确定何时将您自己的音频静音。)

【讨论】:

以上是关于使用 AVAudioSession 快速检测其他音频的属性的主要内容,如果未能解决你的问题,请参考以下文章

iOS- 关于AVAudioSession的使用——后台播放音乐

检测 AVAudioSession 何时被“躲避”

AVAudioSession 未检测到连接的蓝牙设备

AVAudioSession 斯威夫特

AVAudioSession 的 OutputVolume 永远不会改变

iOS 音频-AVAudioSession