gpt4 book ai didi

java - AudioInputStream.skip 具有负值

转载 作者:行者123 更新时间:2023-11-30 07:38:42 25 4
gpt4 key购买 nike

我正在创建一个应用程序来播放音频文件 (WAV)。播放效果非常好,我做了一个小功能,通过 audioInputStreamskip() 方法向前“跳跃”X(秒),这也完美地工作了。

我的问题是实现向后“跳跃”X(秒)。我再次使用带有负数的 skip() 方法,它有效。但是音频文件没有读取文件的末尾,我在末尾丢失了 X(秒),我的播放停止并且我的引用 audioInputStream.read 返回 -1,就好像我的播放是完成了,但实际上没有。

最佳答案

这是我的代码示例:

while ((((bytesRead = this.audioInputStream.read(audioDataFull, 0, audioDataFull.length)) != -1) && (!this.leaveThread))) {
line.write(audioDataFull, 0, bytesRead);
this.nb++;
while (this.audioWav.isPause()) {
if (test) {
try {
this.audioInputStream.skip((long) -(this.audioInputStream.getFormat().getSampleRate()
* (this.audioInputStream.getFormat().getSampleSizeInBits() / 8) * TraitementXML.tmpXml.getBufferRelecture()));
test = false;
} catch (final Exception e) {
this.audioInputStream.skip(-(this.nb * bytesRead));
this.nb = 0;
test = false;
}
}
try {
Thread.sleep(1000);
} catch (final InterruptedException e) {
logger.error(e.getMessage(), e);
}
}
}

关于java - AudioInputStream.skip 具有负值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34996880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com