Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 制作没有数据转换但长度较短的新音频文件_Java_Audio_Javasound - Fatal编程技术网

Java 制作没有数据转换但长度较短的新音频文件

Java 制作没有数据转换但长度较短的新音频文件,java,audio,javasound,Java,Audio,Javasound,从总长度中获取所需长度的代码段: Clip clip = AudioSystem.getClip(); AudioInputStream ais = AudioSystem.getAudioInputStream( new File( "file.wav") ); clip.open( ais ); long currentPos = clip.getMicrosecondPosition(); // get the current position of clip 在这些步骤之后,是否有一种

从总长度中获取所需长度的代码段:

Clip clip = AudioSystem.getClip();
AudioInputStream ais = AudioSystem.getAudioInputStream( new File( "file.wav") );
clip.open( ais );
long currentPos = clip.getMicrosecondPosition(); // get the current position of clip
在这些步骤之后,是否有一种方法可以创建一个新的
音频文件
,而无需进行数据转换(保持音频数据不变),但其长度等于
当前位置


i、 e切割音频文件并将其大小减小到
currentPos

许多音频编辑工具都可以完成这类工作。试试goldwave。

剪辑对于处理音频数据不是最有用的。我认为你必须把你的声音文件加载到一个字节数组中,然后把它处理掉

要听到它,您可以将原始音频阵列包装在TargetDataLine实现中。TDL实现为您提供了钩子,可以在任何您喜欢的地方启动或停止

如果要保存切片文件,您可能知道如何使用AudioSystem.write()方法,该方法将AudioInputStream作为参数之一。对于这些写入,TDL可以包装在AIS中

如果有更简单的方法,我期待着阅读