有人已经编写了代码,用于在给定时间内生成具有特定频率的音调。 SO链接在此处给出:How to Generate A Particular Sound Frequency?。
我需要的是,无限播放声音而不是3秒。我希望在点击按钮或类似的东西时声音停止播放。我想也许我可以使用计时器功能一遍又一遍地重复相同的循环。当用户点击“停止”按钮时,我想调用audiotrack.pause或停止。这是一个很好的方法,还是有更好的逻辑?
答案 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表示循环无限次。