0
我有一個聲音剪輯播放,而我顯示一些數字,然後希望它停止。然後我想重複這個過程。Soundpool迴路不能正常工作
初始化的東西:
private SoundPool soundPool;
private int soundRoll;
boolean soundloaded = false;
this.setVolumeControlStream(AudioManager.STREAM_MUSIC);
soundPool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);
soundPool.setOnLoadCompleteListener(new OnLoadCompleteListener() {
@Override
public void onLoadComplete(SoundPool soundPool, int sampleId, int status) {
soundloaded = true;
}
});
soundRoll = soundPool.load(this, R.raw.roll, 1);
線程調用:
public void update() {
.......
new Thread(new Runnable() {
public void run() {
int streamID = 0;
streamID = soundPool.play(soundRoll, volume, volume, 1, -1, 1);
... loop to animate text....
soundPool.stop(streamID);
}
}).start();
}
能正常工作每個其他時間。 所以它第一次播放並在正確的時間停下來。 第二次我什麼都聽不到 但它然後第三次工作
如果我拿出循環,然後它的作品。
任何幫助將appretiated
嘗試改變從流ID = soundPool.play(soundRoll,體積,容量,1, -1,1); streamID = soundPool.play(soundRoll,volume,volume,1,1,1);刪除-1 n檢查它 –
發佈您的代碼爲線程.. – Deepzz