繁体   English   中英

将声音添加到iPhone应用程序的标准方法(全局音量指示器)

[英]Standard way of adding Sound to an iPhone app (global volume indicator)

我有一个具有各种视图的应用程序。 主菜单没有任何声音,但是下一个视图使用AVAudioPlayer类播放声音。

因此,当某人启动该应用并进入主菜单时 ,如果他更改设备上的音量,则实际上会更改“ Ringer”音量 如果他进入其他视图(有声音的地方),则当他更改设备上的音量时,他将更改游戏的音量 ,而不是铃声。

在我创建AVAudioPlayer的任何实例之前,有没有办法让他们从我的应用程序开始每次更改应用程序音量 (这是一个误解。我的意思是每次您按下音量按钮时OS都会在屏幕上覆盖的正方形。如果您在主屏幕上,则更改“ Ringer”。在游戏中时,您会更改应用的音量)。

PS:我在主菜单上初始化了AudioSession,但这没有任何区别。 我发现的唯一破解方法是在主菜单上实际创建一个AVAudioPlayer实例,并将其设置为“ preparedToPlay”。 但我宁愿听到其他人在做什么(适当的解决方案)。

如果您的应用程序当前未播放音频,则音量按钮将影响铃声音量。 一些应用通过播放无声音频文件来解决此问题。 不过,请仔细考虑您的操作方式-是否在不实际播放实际有用的东西时调整应用音量?

似乎您应该能够通过修改AudioSession属性来执行所需的操作,但是我还没有弄清楚该怎么做(如果可能的话)。

有一个名为MPVolumeView的类用于此目的。 这是一个很好的链接,解释了MPVolumeView的用法

将MPVolumeView添加到视图中将创建一个类似于iPod的音量滑块,当您使用翘板按钮更改音量时,该滑块将会改变。 该值将由AVAudioPlayer类自动使用。

在没有滑块的情况下跟踪音量

默认情况下,翘板按钮仅在播放某些音频时更改应用程序的音量。 有一个解决此问题的方法- 该SO线程讨论了一些解决方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM