我正在嘗試製作一個播放類似鋼琴風琴的聲音的應用程序。當用戶按下一個按鈕時,它將播放類似鋼琴的聲音。困難在於用戶可以將手指放下任何時間。當他們舉起手指時,應該褪色而不是突然停下來。如何在Android中製作可變長度的聲音
我玩過SoundPool和Media Player,但看起來不太合適。
有很多鋼琴應用程序在那裏......有誰知道他們如何解決這個問題?
我正在嘗試製作一個播放類似鋼琴風琴的聲音的應用程序。當用戶按下一個按鈕時,它將播放類似鋼琴的聲音。困難在於用戶可以將手指放下任何時間。當他們舉起手指時,應該褪色而不是突然停下來。如何在Android中製作可變長度的聲音
我玩過SoundPool和Media Player,但看起來不太合適。
有很多鋼琴應用程序在那裏......有誰知道他們如何解決這個問題?
你會想要使用AudioTrack類。基本用法是使用AudioTrack的write()
方法編寫您的聲音數據,無論您希望何時聽到它。您需要爲每個想要「播放」的同時播放的聲音使用單獨的線程。
這裏是AudioTrack reference page和這裏的a blog entry作者做了一個很好的工作,顯示如何做沒有很多分心。
謝謝,我看了一下piano.zip文件中的代碼,並且按鈕可以播放可變長度的文件。 – Mel
您可能想要考慮在軟件中實現[某種信封](http://en.wikipedia.org/wiki/Synthesizer#ADSR_envelope)。 – Michael
軟件綜合。 – marko