いくつかの数字を表示しているときにサウンド クリップを再生し、それを停止します。その後、プロセスを繰り返したいと思います。
初期化のもの:
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();
}
これは毎回うまくいきます。そのため、最初に再生して適切なタイミングで停止します。2回目は何も聞こえませんが、3回目は機能します
ループを取り除けば、うまくいきます。
どんな助けでも感謝されるでしょう