Code example for AudioTrack

Methods: getPlayStateplayreloadStaticDatastopwrite

0
            byte[] b = new byte[length + SPACER];
            System.arraycopy(wav, 44, b, 0, length);
            Arrays.fill(b, length, length + SPACER, (byte)0);
             
            // バッファを一旦読み込む必要がある 
            track.reloadStaticData();
            // バッファに書き込む 
            // 無音区間を含めて書きこむ 
            //track.setNotificationMarkerPosition(length / 2); 
            track.write(b, 0, length + SPACER);
            // 再生 
            track.play();
            // setNotificationMarkerPositionによるコールバックが効かないので、 
            // 再生直後にステータスを書き換える 
            stop(); 
        } 
    } 
     
    /** 
     * 音声再生を停止する 
     */ 
    public void stop() { 
        if (track.getPlayState() == AudioTrack.PLAYSTATE_PLAYING){
            track.stop(); // 発声中なら停止
        } 
    } 
     
    /** 
     * 解放処理