gpt4 book ai didi

java - 为什么这种方法不起作用?

转载 作者:行者123 更新时间:2023-11-30 11:54:00 24 4
gpt4 key购买 nike

public AudioInputStream append(AudioInputStream main, AudioInputStream s) throws UnsupportedAudioFileException, IOException {
AudioSystem.write(new AudioInputStream(
new SequenceInputStream(main, s),
main.getFormat(),
main.getFrameLength() + s.getFrameLength()), AudioFileFormat.Type.WAVE, new File("/home/nikkka/Desktop/alphabet/result_for_watch.wav"));
return AudioSystem.getAudioInputStream(new File("/home/nikkka/Desktop/alphabet/result_for_watch.wav"));
}

它应该附加音频文件,但它总是返回最后一个文件,而不是两个!...有什么问题吗? :S

最佳答案

我能看到它只返回第二个 (s) AudioInputStream 的唯一方法是如果在第一个中读取有问题。我建议将您的方法分解一些。在这里,我扩展了一些方法,以添加一些日志记录语句并使其更加冗长。我没有改变任何功能。

public AudioInputStream append(AudioInputStream main, AudioInputStream s)
throws UnsupportedAudioFileException, IOException {

SequenceInputStream sis = new SequenceInputStream(main, s);

long length = main.getFrameLength() + s.getFrameLength();
logger.debug(main.getFrameLength() + "+" + s.getFrameLength() +
"=" + length);

AudioFormat fmt = main.getFormat();

File file = new File("c:/MyNew.wav"); //changed for testing

AudioInputStream ais = new AudioInputStream(sis, fmt, length);
int size = AudioSystem.write( ais, AudioFileFormat.Type.WAVE, file);
logger.debug("Wrote :" + size);

return AudioSystem.getAudioInputStream(file);
}

此外,确保您正在捕获并记录您的错误,以防抛出错误。在我的测试用例中,一切正常。检查添加的日志语句,它显示前后文件的大小,它们还确保写入的内容 >= 该值。

将方法写得更冗长有助于定位问题。有了它,像这样更详细将使您也可以更轻松地逐步使用调试器。找到问题的根源后,您可以根据需要恢复到更紧凑的方式。

关于java - 为什么这种方法不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5953406/

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