オーディオ クリップに 1 分(60*1000*1000 microseconds)
を追加して開始すると、初回のみ目的の結果が得られます。つまり、オーディオ ファイルの正しいポイントに到達しています。次にオブジェクトに対して getMicrosecondPosition を呼び出すと、Clip
何も追加していないかのようにマイクロ秒の位置が取得されます。この動作のサンプル スニペットと出力を添付しました。私が間違っていることをよく理解できません。
clip.stop();
currentPlaybackTime=clip.getMicrosecondPosition()+60L*1000*1000;
System.out.println("Playing from "+currentPlaybackTime+" ms i.e "+currentPlaybackTime/1000000.0+" seconds");
clip.setMicrosecondPosition((currentPlaybackTime));
System.out.println("Verifying: currentPlaybackTime is "+clip.getMicrosecondPosition());
clip.start();
System.out.println("Verifying 2: currentPlaybackTime is "+clip.getMicrosecondPosition());
出力は
Playing from 63326000 ms i.e 63.326 seconds [Note:this is seeking to correct point in audio file!]
Verifying: currentPlaybackTime is 3326000 [Why not here?]
Verifying 2: currentPlaybackTime is 3326000 [and here?]
Play/Pause Clicked
Pausing at 5120000 ms 5.12 seconds