2011-11-22 72 views
0

我不认为什么是好的,但它的作品。如何用一个MediaPlayer实例更正播放RAW音频文件?

我想知道它是什么我喜欢吗?

我有2个文件tick.wav和tock.wav至极必须由计时器滴答滴答或播放。 setLooping不好,因为我需要通过timer init来玩。

所以我尝试了两种方法:

首先

我有可变MediaPlayer的熔点;

当我需要打节拍我打电话mp=MediaPlayer.create(context,tickID),当我需要发挥滴答我打电话

当我打电话mp.start();

有一段时间它的工作很好,我听到了嘀嗒声,但是后来我开始从mediaplayer得到错误。我认为这是因为之前的MediaPlayer实例仍在播放文件。

所以我做的下一:我创建了两个变量

tickPlayer=MediaPlayer.create(tickID); 

tockplayer=MediaPlayer.create(tockID); 

,然后我需要滴答我打电话tockPlayer.start()当我需要打勾我打电话tickplayer.start()

我不工作,但(总是存在,但是)如果文件将超过2,也许是100? 创建一系列媒体播放器,如Vector<MediaPlayer> mpPlayers? 并呼吁需要?我认为这很快就吃掉了我的记忆。

因此,目标是:我需要正确的播放RAW格式的媒体播放器的缩短反应文件,我该怎么做?

回答

0

可能你不需要Vector来存储媒体文件,我想你可以使用java反射来获取关于“raw”资源的信息,因为raw是来自R.java的静态类。

你在停止媒体播放器吗? tickPlayer.stop()。