AVAudioPlayer:音量按钮在某些设备上有效,在其他设备上无效

Posted

技术标签:

【中文标题】AVAudioPlayer:音量按钮在某些设备上有效,在其他设备上无效【英文标题】:AVAudioPlayer: volume buttons work on some devices and not others 【发布时间】:2011-04-07 22:19:33 【问题描述】:

我有一个应用程序使用AVAudioPlayer 播放一些嵌入的 MP3 文件。音量按钮在我主要用于测试的 3GS 上工作可靠——它们在 4.1 下工作,升级到 4.3.1 后现在可以工作。在我老板的运行 4.2.1 的 iPhone 4 上,它们似乎根本无法在我们的应用程序中运行;在我的辅助测试机器 iPod Touch(也运行 4.2.1)上,我能够让它们工作一次,但无法重现我是如何做到的。

我尝试了一个我发现的 hack,在应用程序启动时创建了一个虚拟的 AVAudioPlayer,但让它处于 prepareToPlay 状态,我发现我可以在初始屏幕上使用音量按钮,但是一旦我开始播放真实的音频他们停止了工作。

有人遇到过这个吗?任何想法为什么它适用于某些手机而不适用于其他手机?


更新:我将 Touch 更新到 4.3.1,问题就消失了。因此我认为这可能是 4.2.1 中的一个错误,但我仍然想知道是否有人看到它和/或可以向我指出错误报告。

【问题讨论】:

【参考方案1】:

我有同样的问题。我发现 YouTube 应用程序在 AVAudioPlayer 上设置了默认音量。用 iPhone 4.3.3 发现这个,所以我不确定你是否已经走出困境。

【讨论】:

以上是关于AVAudioPlayer:音量按钮在某些设备上有效,在其他设备上无效的主要内容,如果未能解决你的问题,请参考以下文章

AVAudioPlayer 音量与系统音量不一样

UILocalNotification 中的声音在最大音量下比 AVAudioPlayer 响亮

iPhone:如何使用 AVAudioPlayer 检测 Iphone/Ipod 音量级别

AVAudioPlayer 本地音频设置番外篇:后台定时修改音频音量NSTimer

AVAudioPlayer 无法在某些设备上播放

如何在不影响设备音量的情况下使用 MPMusicPlayerController 更改音量