向 AVAudioPlayer 对象发送值以播放不同的声音

Posted

技术标签:

【中文标题】向 AVAudioPlayer 对象发送值以播放不同的声音【英文标题】:Sending a Value to an AVAudioPlayer Object to Play a Different Sound 【发布时间】:2011-09-17 18:35:59 【问题描述】:

我有一个 iphone 应用程序,我使用 AVAudioPlayer 对象通过一个按钮播放声音。但是,我想为声音名称使用一个变量并向该变量发送一个值。我有两个其他按钮可以播放不同的声音,并希望将声音名称值发送到 AVAudioPlayer 中的变量。我该怎么做?

谢谢!

【问题讨论】:

【参考方案1】:

您可以使用数字名称(例如 1.mp3、20.mp3、41.wav 等)保存音频文件(在资源中),然后您可以使用 [NSString stringWithFormat:@"%d.mp3",soundId];生成声音文件名以使用生成绝对资源路径并将其传递给 AVAudioPLayer

祝你好运!!

【讨论】:

【参考方案2】:

这是无法做到的。为每个新声音创建一个新的 AVAudioPlayer。如果您想中断当前声音,请将 stop 发送到当前实例。

【讨论】:

以上是关于向 AVAudioPlayer 对象发送值以播放不同的声音的主要内容,如果未能解决你的问题,请参考以下文章

在播放动态音频之前创建 AVAudioPlayer 对象

Mac 上的 AVAudioPlayer 无法播放/崩溃

AVAudioPlayer 15 次不播放音频

为啥 AVAudioPlayer 不播放?

AVAudioPlayer 不播放 mp3?

OS X 播放音频帧是不是发送给我