0

いくつかの数字を表示しているときにサウンド クリップを再生し、それを停止します。その後、プロセスを繰り返したいと思います。

初期化のもの:

    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回目は機能します

ループを取り除けば、うまくいきます。

どんな助けでも感謝されるでしょう

4

1 に答える 1

0

MP3 から OGG ファイルに切り替えると、バグがなくなるようです

于 2013-01-02T00:38:52.437 に答える