簡體   English   中英

(Java)AudioInputStream打開WAV文件時出現的問題

[英]issue when opening wav file using (Java) AudioInputStream

我正在使用JDK7並嘗試運行wav文件-我嘗試了以下測試,但復制了以下錯誤:

錯誤:

line with format ULAW 8000.0 Hz, 8 bit, mono, 1 bytes/frame,  not supported.

樣例代碼:

import javax.sound.sampled.*;

      try {
          Clip clip = AudioSystem.getClip();
          AudioInputStream inputStream = AudioSystem.getAudioInputStream(
                  new File("C://Users//xyz//Desktop//centerClosed.wav"));
          clip.open(inputStream);
          clip.start(); 
        } catch (Exception e) {
          System.err.println(e.getMessage());
        }

關於如何處理此案的任何想法? 提前致謝

您的wav文件似乎是ULAW格式,以8kHz采樣,該片段顯然無法理解。

嘗試像這樣將音頻轉換為44.1kHz PCM:

import javax.sound.sampled.*;

try {
    Clip clip = AudioSystem.getClip();
    AudioInputStream ulawIn = AudioSystem.getAudioInputStream(
            new File("C://Users//xyz//Desktop//centerClosed.wav"));

    // define a target AudioFormat that is likely to be supported by your audio hardware,
    // i.e. 44.1kHz sampling rate and 16 bit samples.
    AudioInputStream pcmIn = AudioSystem.getAudioInputStream(
            new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, 44100f, 16, 1, 2, 44100f, true)
            ulawIn);

    clip.open(pcmIn);
    clip.start(); 
} catch (Exception e) {
    System.err.println(e.getMessage());
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM