Android 音轨停止的识别方法
你好, 我在用音轨Android 音轨停止的识别方法,android,Android,你好, 我在用音轨 audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, sampleRate, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, numSamples, AudioTrack.MODE_STATIC); audioTrack.write(generatedSnd, 0, numSamples) ; a
audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC,
sampleRate, AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT, numSamples,
AudioTrack.MODE_STATIC);
audioTrack.write(generatedSnd, 0, numSamples) ;
audioTrack.play();
有没有办法识别audioTrack是否已停止
while(audioTrack.getPlayState() == AudioTrack.PLAYSTATE_PLAYING){
i++;
System.out.println(i);
}
不起作用
问候语您对
play()
的调用可能位于后台线程中。然后您的getPlayState()
可能会被调用。这是假设play()
是一个阻塞调用,看起来是这样的。由于您正在播放静态曲目,请使用getPlaybackHeadPosition()
并将返回值与样本总数(注意,样本而不是字节-尽管它们的数字可能匹配)进行比较您的音频。当您到达while循环时,您确定曲目处于播放状态吗?