哈罗,我在用AudioTrack
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);
}不工作..。。
问候
发布于 2011-08-30 20:55:43
由于您正在播放静态曲目,请使用getPlaybackHeadPosition()并将返回值与音频的样本总数(注意,样本而不是字节-尽管它们的数量可能匹配)进行比较。
发布于 2011-04-27 17:24:47
您对play()的调用可能应该在后台线程中进行。那么你的getPlayState()可能会被调用。这是假设play()是一个阻塞调用,看起来是这样的。
https://stackoverflow.com/questions/5801641
复制相似问题