1

AudioTrack の再生が終了したかどうかを検出する方法は? 単純じゃない!!! 私は他の直後に触れる必要があります(エンキュー) このコードは機能していません... 2回押すと、1回目は終了せず、2つのサウンドが同時に再生されます...

private void getNextAudio() {
    try{            

        byte[] buffer = playlist.poll();
        if (buffer != null) {

            AudioTrack myatrack = getAudioTrack(buffer);                
            myatrack.setPlaybackPositionUpdateListener( new OnPlaybackPositionUpdateListener() {            

                public void onPeriodicNotification(AudioTrack track) {

                }

                public void onMarkerReached(AudioTrack track) {             
                    Log.d(TAG, "onMarker - estado: " + track.getPlayState());

                    if(track.getPlayState() == AudioTrack.PLAYSTATE_STOPPED){

                        track.flush();
                        track.stop();
                        track.release();

                        getNextAudio();
                    }                               
                }
            });             

            if (myatrack != null) {
                // toco o audio.
                myatrack.play();
            }
        }else{
            Log.d(TAG,"Finish");
        }
    }catch(NoSuchElementException ex){
        Log.d(TAG,"No such element");           
    }
}

再度、感謝します!マテウス

4

0 に答える 0