在iPhone上播放无限期的声音

时间:2009-07-27 22:11:13

标签: iphone cocoa-touch audio

当用户触摸屏幕时,我需要播放“喇叭”声。

只要用户的手指保持与屏幕接触,喇叭声就需要播放。

音效的结束会有所不同。想象一下,当气流减少时,喇叭声会在最后“逐渐消失”。

我必须将2个声音文件拼接在一起吗?我是否需要使用远程I / O,因为时间非常关键?

这个库看起来像是一种可能性: http://www.surina.net/soundtouch/

似乎我可以无限期地播放声音,但我还没有实现它,所以我不确定。

我觉得这会是游戏编程中的常见问题,但我在这方面的经验不多。

我之前从未使用过音频,因此我无法开始。 (到目前为止,我只需要在我的应用程序中使用AVAudioPlayer。)

有关图书馆使用或使用某项技术的任何建议都会很棒。

4 个答案:

答案 0 :(得分:5)

为了使其真实,您需要三种声音:

  1. 攻击。这是声音的开始;它是声音中最重要的部分,因为它是大脑用来识别声音的部分。然后声音稍微衰减,变成......

  2. 延音。这是声音的一部分,您需要不断循环直到用户抬起手指。你必须仔细制作这部分声音,以避免在循环声音时出现“嘀嗒声”或其他瑕疵。

  3. 发布这是用户抬起手指时播放的声音。

  4. Audacity等音频工具可以更轻松地创建这三个文件。您可以使用喇叭的实际录制来创建三个声音片段。

答案 1 :(得分:1)

您需要结帐Audio Queues

Google Code上的IPhone-DJ project可能会提供一些灵感。

还有一些博客文章介绍了音频队列herehere

答案 2 :(得分:0)

我对iphone上的音频编程没有经验。我想你可以创建一个好的持续时间声音文件,其中包括最后的“逐渐消失”声音。您可以做的是,只要用户触摸屏幕,播放声音文件,并在您开始逐渐消失时继续寻找开头,有效地循环播放。如果用户停止触摸屏幕,那么你可以停止寻找开始并完成播放整个声音,然后以淡出效果结束(或者为了更直接的反应,寻找淡出的开始)。

我不确定是否可以这样做,但这是一种方法。对不起,如果我误解了你的问题。

答案 3 :(得分:0)

通过录制喇叭(作为WAV或MP3文件或其他内容)实现此目标是一项相对困难的编程任务,尤其是对于之前从未使用过音频的人。如果iPhone支持MIDI(或者如果有一个易于使用的MIDI组件可以合并到您的应用程序中),这将是一个更实用的路径。使用MIDI,您基本上可以告诉合成器以特定音高开始音符(就像您在钢琴上按键一样),合成器将播放该音符直到您告诉它停止播放(停止指令的一部分涉及告诉合成器如何逐渐“释放”音符)。 MIDI合成器都支持128种基本的乐器(不包括鼓),包括各种喇叭。

相关问题