Iphone 我们可以将耳机静音并仅从底部扬声器播放吗?

Posted

技术标签:

【中文标题】Iphone 我们可以将耳机静音并仅从底部扬声器播放吗?【英文标题】:Iphone can we mute Ear Speakers and only play from the Bottom Speakers? 【发布时间】:2019-10-19 00:46:58 【问题描述】:

我需要单个 iPhone 扬声器的音频。最好只是底部扬声器。目前我正在从 Ear 和 Bottom 扬声器获得音频。

我已经尝试了 AVAudiosession 类别和端口的所有排列。 当我尝试将OutputAudioPort 覆盖到.speaker 时,我得到一个OSStatus 错误-50,并相信这是我的问题的根源。

覆盖在 iPhone X、iPhone XR 和 iPhone 6s+ 上失败

目前使用这个作为设置:

试试 AVAudioSession.sharedInstance().setCategory(.playback, options: AVAudioSession.CategoryOptions.defaultToSpeaker)

try AVAudioSession.sharedInstance().overrideOutputAudioPort(.speaker) // 这失败 OSStatus 错误 -50

【问题讨论】:

【参考方案1】:

我发现的“解决方案”是设置平移

audioPlayer.pan = -1

全部向左平移,使其使用底部扬声器而不是耳机。所以可能不是每个人的解决方案。另请注意,此平移到 -1 仅适用于纵向模式。它必须根据方向变化进行调整。

OSStatus 错误 -50 的解决方案似乎是将类别设置为 .playAndRecord。然后设置为 .speakers 工作。但是,这仍然会播放两个扬声器,对我来说不是路线问题。

【讨论】:

以上是关于Iphone 我们可以将耳机静音并仅从底部扬声器播放吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 alsa 库 API 与耳机和扬声器一起使用?

如何在 iPhone 应用程序中切换扬声器和耳机

iOS:静音右声道音量

iPhone 7 顶部和底部扬声器之间的平移声音

小米手机的媒体声音没了怎么办

iPhone SDK:设置音频路由并在静音开关打开时静音音频