gpt4 book ai didi

java - Java代码声明的疑问

转载 作者:行者123 更新时间:2023-12-02 08:31:44 27 4
gpt4 key购买 nike

你能解释一下下面的代码吗?尤其是这段代码语句

AudioInputStream joinFiles = new AudioInputStream(new SequenceInputStream(
clip1, clip2), clip1.getFormat(), clip1.getFrameLength()
+ clip2.getFrameLength());

我的理解是只有文件长度相同才能进行连接操作,这是正确的吗?

让我困惑的是:

clip1.getFormat(), clip1.getFrameLength()
+ clip2.getFrameLength());

完整代码如下:

AudioInputStream clip1 = AudioSystem.getAudioInputStream(song1);
AudioInputStream clip2 = AudioSystem.getAudioInputStream(song2);


AudioInputStream joinFiles = new AudioInputStream(new SequenceInputStream(
clip1, clip2), clip1.getFormat(), clip1.getFrameLength()
+ clip2.getFrameLength());


AudioSystem.write(joinFiles, AudioFileFormat.Type.WAVE, outfile);

谢谢你,乌尔里克

最佳答案

AudioInputStream 在其构造函数中采用 SequenceInputStream、格式和长度。

clip1.getFormat() 只是从clip1 获取格式,并将其传递给新流。显然,这两个文件必须具有相同的格式才能正常工作。

clip1.getFrameLength() + Clip2.getFrameLength() 只是表明新流的长度应为两个剪辑长度之和。

我不知道这两个文件需要有相同的;我不明白为什么会这样。

关于java - Java代码声明的疑问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3192876/

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