AVAudioPlayer 多重声音嘈杂
Posted
技术标签:
【中文标题】AVAudioPlayer 多重声音嘈杂【英文标题】:AVAudioPlayer multiple sounds noisy 【发布时间】:2012-07-02 23:14:08 【问题描述】:由于 ios 中的系统声音播放器一次只能播放一种声音,我正在使用 AVAudioPlayer。但是,如果我尝试使用具有相同声音文件的两个单独的 AVAudioPlayer 播放两个相同的声音,听起来会很吵。
如果用户点击,我希望能够快速连续播放某种声音,并让它听起来悦耳,没有噪音。
是否建议为同一个声音创建两个 AVAudioPlayer 实例,或者只是停止播放声音?如果我停止声音,当我快速点击按钮时,我仍然会听到静态反馈声音。如果我等待静音,然后在清除后点击按钮,但是当我继续点击它时,它会超载或其他什么。
无论如何,只是想获得一个非常简单的声音,以便快速连续播放并且听起来不错。
感谢任何反馈。
【问题讨论】:
这个话题AVPlayer noise issue after playing a while 相关吗? [1]: 我认为它们是相关的。我记得这个问题也存在于设备上,而且可能更糟。似乎声音水平会达到最大值并突然中断。我将在下面添加一个答案。 我仍在测试,但我已经开始停用会话并在剪辑之间重新激活。从那以后,我在设备上没有遇到过问题。所以我进一步怀疑,在我的例子中,它要么是模拟器,要么是数据流。 【参考方案1】:我通过使用相同的声音文件创建 2-3 个 AVAudioPlayer 解决了这个问题(作为一种解决方法)。在每种“播放”方法中,我都会检查第一个声音是否仍在播放。如果是,则播放第二个版本,依此类推。这对我来说似乎很有效。
- (void)playUndo
if ([self isSoundMuted]) return;
if ([[self undoPlayer] isPlaying])
[[self undoPlayerTwo] play];
else
[[self undoPlayer] play];
【讨论】:
以上是关于AVAudioPlayer 多重声音嘈杂的主要内容,如果未能解决你的问题,请参考以下文章