Android播放声音直到明确停止

时间:2014-06-11 14:50:30

标签: android timer frequency audiotrack

有人已经编写了代码,用于在给定时间内生成具有特定频率的音调。 SO链接在此处给出:How to Generate A Particular Sound Frequency?

我需要的是,无限播放声音而不是3秒。我希望在点击按钮或类似的东西时声音停止播放。我想也许我可以使用计时器功能一遍又一遍地重复相同的循环。当用户点击“停止”按钮时,我想调用audiotrack.pause或停止。这是一个很好的方法,还是有更好的逻辑?

2 个答案:

答案 0 :(得分:2)

参考这个。 http://developer.android.com/reference/android/media/MediaPlayer.html

//Declare a new object

MediaPlayer Mp3=new MediaPlayer();

//Then set path of file
Mp3.setDataSource(“sdcard/filename.mp3”);

//Before playing audio, call prepare
Mp3.prepare();

//For Looping (true = looping; false = no looping)
Mp3.setLooping(true);

//To play audio ,call
Mp3.start();

//To pause, call
Mp3.pause

//To stop audio, call
Mp3.stop(); 

它完成了!

答案 1 :(得分:1)

感谢Boggartfly,但我找到了一个更简单的解决方案。我可以简单地循环播放录音对象。

我使用了以下代码。

         audioTrack.setLoopPoints(0, generatedSnd.length/4, -1);

起始帧为零。对于16位PCM,结束帧长度为4。负1表示循环无限次。