2009-07-27 33 views
3

當用戶觸摸屏幕時,需要播放「喇叭」聲音。在iPhone上播放無限期的聲音

只要用戶的手指與屏幕保持接觸,喇叭聲音就需要播放。

聲音效果的結尾會有所不同。想象一下,隨着氣流的減少,號角會「結束」。

我必須將2個聲音文件縫合在一起嗎?我是否需要使用遠程I/O,因爲時間安排非常重要?

這個庫看起來像一個可能性: http://www.surina.net/soundtouch/

好像我可以無限期地播放聲音,但我還沒有實現它,所以我不知道。

我覺得這將是遊戲編程中的一個常見問題,但我在這方面的經驗不多。

我從來沒有在這個程度上使用過音頻,所以我不知從哪裏開始。 (直到現在,我只需要在我的應用程序中使用AVAudioPlayer)。

任何有關圖書館使用或使用技術的建議都會很棒。

回答

0

我沒有iphone上的音頻編程經驗。我認爲你可以創建一個很好的持續時間聲音文件,其中包括最後的「最終聲音」。你可以做的是,只要用戶正在觸摸屏幕,播放聲音文件並在開始播放時立即回到開頭,並有效地循環播放。如果用戶停止觸摸屏幕,則可以停止搜索開始並完成播放整個聲音,並完成淡出效果(或者對於更直接的反應,請嘗試開始淡出) 。

我不確定是否可以這樣尋求,但這將是一種方法。對不起,如果我誤解了你的問題。

5

爲了使現實的,你需要三個聲音:

  1. 攻擊。這是聲音的開始;它是聲音中最重要的部分,因爲它是大腦用來識別聲音的部分。聲音然後衰變輕微,併成爲...

  2. 維持。這是聲音的一部分,您需要不斷循環直到用戶舉起手指。您必須仔細製作這部分聲音以避免「嘀嗒」或其他工件在循環播放聲音時。

  3. 版本這是您在用戶舉起手指時播放的聲音。

有音頻工具,如Audacity,這將使這三個文件的創建更容易。您可以使用實際的喇叭錄音來創建三個聲音片段。

+0

+1:這是解決此問題的正確方法。雖然你應該提到「衰減」(它不是完全必要的,但會產生更好的聲音) – 2009-07-27 23:44:13

+0

聲音的「Decay」部分應該包含在此應用程序的第一個聲音文件中。 – 2009-07-28 00:29:53

0

用喇叭(WAV或MP3文件或其它)錄製來實現這一點是一項相對困難的編程任務,特別是對於以前從未使用過音頻的人來說。如果iPhone支持MIDI(或者有一個易於使用的MIDI組件,您可以將它加入到您的應用程序中),那麼這將是一個更實用的途徑。使用MIDI,您基本上會讓合成器以特定音高開始音符(例如您正在按鋼琴上的鍵),合成器將播放該音符,直到您告訴它停止播放爲止(停止指令的一部分涉及告訴合成器如何逐漸「釋放」音符)。 MIDI合成器都支持128種基本的樂器(不包括鼓),包括各種喇叭。