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

Ios iPhone 7上顶部和底部扬声器之间的平移声音,ios,iphone,audio,core-audio,Ios,Iphone,Audio,Core Audio,在iPhone7和更新型号上,是否可以将声音平移到顶部或底部扬声器?我没有这些手机,但我的理解是,当手机处于纵向模式时,iOS会混合立体声并从两个扬声器播放。我知道它在横向模式下将左声道和右声道路由到各自的扬声器,但我找不到关于纵向模式下行为的文档 是否可以将播放限制为只播放一个或另一个扬声器,或在顶部和底部之间平移?我的磁带库无法在两个扬声器同时播放的破坏性干扰下运行。结果证明我的问题被误导了。当你不能自己在设备上测试时,很难获得可信的信息 在iPhone7及更高版本上,立体声频道实际上被路由

在iPhone7和更新型号上,是否可以将声音平移到顶部或底部扬声器?我没有这些手机,但我的理解是,当手机处于纵向模式时,iOS会混合立体声并从两个扬声器播放。我知道它在横向模式下将左声道和右声道路由到各自的扬声器,但我找不到关于纵向模式下行为的文档


是否可以将播放限制为只播放一个或另一个扬声器,或在顶部和底部之间平移?我的磁带库无法在两个扬声器同时播放的破坏性干扰下运行。

结果证明我的问题被误导了。当你不能自己在设备上测试时,很难获得可信的信息

在iPhone7及更高版本上,立体声频道实际上被路由到各个扬声器,即使没有立体声分离。左声道连接至底部扬声器,右声道连接至顶部/耳机扬声器。使用“平移”属性也可以完成相同的任务

最后,还有一个选择。使用
AVAudioSession.sharedInstance.currentRoute.outputs
,两个扬声器组合显示为单个输出(
outputs[0]
)。此输出中有两个通道,
输出[0]。通道[0]
输出[0]。通道[1]
。使用频道分配映射到其中任何一个也可以,第一个频道映射到底部扬声器,第二个映射到顶部扬声器

这些方法中的任何一种都可以很好地将声音输出传送到新的立体声扬声器,即使手机是纵向的


对于任何想在自己的设备上试用的人,我准备了一个测试应用程序来测试各种方法

您是否通过设置player.pan进行了尝试?OP或@CatsLoveJazz能否在iPhone 7(理想情况下不带耳机)上运行此要点并报告结果?改编自结帐听力课,我认为你做不到。这在“辅助功能设置”下可供最终用户替代。您可以在扬声器和耳机之间切换。尽管您可以查看此要点-您是否尝试设置AvAudioPlayers的pan属性-1或1。鉴于此,你可能会想考虑UIDEVICE的方向,这样你可以在你打开手机的时候左右翻转,甚至只用一个“肖像”应用程序。我认为您在API中的接口级别太高,无法获得如此细粒度的控制(您要求“播放这个”,它确实如此,符合音量控制和可访问性功能-即:您不能覆盖系统设置)。