如何将声音文件从wav转换为ulaw?

时间:2011-08-26 13:41:03

标签: audio

我需要一个实用程序,从我的IVR转换为wav到ulaw。我可以使用哪种第三方软件?

2 个答案:

答案 0 :(得分:2)

这与你想要做的事情相反,但我认为这对某人有帮助。这是一个简单的方法,它将使用内置的Java方法将8位uLaw编码的二进制文件转换为16位WAV文件。

public static void convertULawFileToWav(String filename) {
    File file = new File(filename);
    if (!file.exists())
        return;
    try {
        long fileSize = file.length();
        int frameSize = 160;
        long numFrames = fileSize / frameSize;
        AudioFormat audioFormat = new AudioFormat(Encoding.ULAW, 8000, 8, 1, frameSize, 50, true);
        AudioInputStream audioInputStream = new AudioInputStream(new FileInputStream(file), audioFormat, numFrames);
        AudioSystem.write(audioInputStream, Type.WAVE, new File("C:\\file.wav"));
    } catch (IOException e) {
        e.printStackTrace();
    }
}

答案 1 :(得分:0)

请参阅此链接,了解PCM wavs to u-law / a-law:

http://www.codeproject.com/KB/security/g711audio.aspx