2014-04-10 21 views
4

我正在尝试制作一个播放类似钢琴风琴的声音的应用程序。当用户按下一个按钮时,它将播放类似钢琴的声音。困难在于用户可以将手指放下任何时间。当他们举起手指时,应该褪色而不是突然停下来。如何在Android中制作可变长度的声音

我玩过SoundPool和Media Player,但看起来不太合适。

有很多钢琴应用程序在那里......有谁知道他们如何解决这个问题?

+0

您可能想要考虑在软件中实现[某种信封](http://en.wikipedia.org/wiki/Synthesizer#ADSR_envelope)。 – Michael

+0

软件综合。 – marko

回答

0

你会想要使用AudioTrack类。基本用法是使用AudioTrack的write()方法编写您的声音数据,无论您希望何时听到它。您需要为每个想要“播放”的同时播放的声音使用单独的线程。

这里是AudioTrack reference page和这里的a blog entry作者做了一个很好的工作,显示如何做没有很多分心。

+0

谢谢,我看了一下piano.zip文件中的代码,并且按钮可以播放可变长度的文件。 – Mel