File file = new File(sourceFile);
AudioInputStream in = AudioSystem.getAudioInputStream(file);
AudioInputStream din = null;
AudioFormat baseFormat = in.getFormat();
AudioFormat decodedFormat = new AudioFormat(
AudioFormat.Encoding.PCM_SIGNED, baseFormat.getSampleRate(),
16, baseFormat.getChannels(), baseFormat.getChannels() * 2,
baseFormat.getSampleRate(), false);
din = AudioSystem.getAudioInputStream(decodedFormat, in);
AudioSystem.write(din, AudioFileFormat.Type.WAVE, new File(targetFile));
http://www.javazoom.net/mp3spi/documents.html
http://www.javazoom.net/vorbisspi/documents.html
当我转换MP3文件时,代码运行良好。但是,当我试图转换OGG文件时,我得到以下错误:
java.lang.IllegalArgumentException: Unsupported conversion: PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian from VORBISENC 44100.0 Hz, unknown bits per sample, stereo, 1 bytes/frame, 16000.0 frames/second
AudioSystem.getTargetEncodings(sourceFormat)
有人有什么建议可能导致这个问题吗?可能有任何变通办法来转换OGG文件到WAV?
编辑:
哇,我意识到问题是什么...在阅读了手册上的所有内容后,我了解到使用两种不同类型的SPI(如本例中的MP3和OGG)可能会导致问题。我删除了MP3 spi maven依赖项,错误消失了。认为结果wav基本上是空的。对此有什么建议吗?我会很高兴,如果我可以让OGG到WAV转换工作,我可以改变MP3在另一种方式。
<dependency>
<groupId>com.googlecode.soundlibs</groupId>
<artifactId>vorbisspi</artifactId>
<version>1.0.3-1</version>
</dependency>
使用tritonus_jorbis-0.3.6.jar替换vorbisspi1.0.2.jar。
在解码原始AudioInputStream时,AudioSystem获取所有SPI的FormatConversionProvider并逐一检查,直到找到一个可以工作的。所以类路径的顺序很重要。
检查您的类路径,以确保使用了“org.tritonus.sampled.convert.jorbis.JorbisFormatConversionProvider”。检查类路径中的每个JAR;在其中搜索以下文件。或者将tritonus_jorbis-0.3.6.jar放在类路径的最开始。
META-INF\services\javax.sound.sampled.spi.FormatConversionProvider
我把一个WAV文件转换成MP3。ffmpeg的输出表明它正在转换为128k比特率,但最终只有32k比特率。 原始WAV文件是RIFF(little endian)数据、WAVE音频、Microsoft PCM、24位、立体声48000 Hz。 输出MP3文件是ID3版本2.4.0的音频文件,包含:MPEG ADTS,第三层,v1,32 kbps,48 kHz,立体声时检查与文件实用程序。我的PHP
问题内容: 我将mp3转换为wav的代码是: 但是我得到以下输出: 谁能帮我我在做什么错? 问题答案: 这里的sourceBytes表示MP3文件或WAV文件。audioFormat是您要转换的PCM格式。另外,我们需要将javazoom.com中的mp3spi.jar,tritonus_mp3.jar,jl * .jar,tritonus_share.jar放入类路径中。希望这对其他人有帮助。
本文向大家介绍Android pcm转wav格式方法,包括了Android pcm转wav格式方法的使用技巧和注意事项,需要的朋友参考一下 程序中的录音文件之前直接保存的是 .pcm格式,一直也相安无事,用的挺好。最近有一个webview中需要加载录音文件,出现了不兼容的问题,所以需要把 .pcm格式文件转换为 .wav格式。 PCM PCM(Pulse Code Modulation----脉码
实现了长按按钮录制声音功能。录制的声音原始格式是wav,可以将wav格式的音频转换成amr格式,或者amr格式音频转换成wav格式。录制声音时,监听了频谱,实现了根据输入的音量大小显示不同的音量图标。 [Code4App.com]
问题内容: 我在Java方面苦苦挣扎,但无法将Java .wav转换为.mp3转换器的有效示例。该转换器将在Java applet中使用,因此它应仅依赖以纯Java编写的库,而无需底层C代码调用。 谁能提供一个完整的示例? 谢谢 问题答案: 阅读您的wave文件@ http://java.sun.com/javase/technologies/desktop/media/jmf/ 并编码为mp3
这是我的问题,有人给了我一个函数,如果我理解得很好,它会把一些声音样本放入数组列表中。 我想创建一个。wav文件的音频曲目,我真的不知道如何做到这一点。 这是代码,因为也许我根本不懂。。。 下面是示例,在上面的代码中导入。