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