2013-04-09 2 views
0

Я пытаюсь добавить аудио плеер в свое приложение. Вот код из класса, который обрабатывает аудио воспроизведения:BigClip не будет играть .wav-файл

package me.pogostick29.audiorpg.audio; 

import java.io.File; 
import java.io.FileInputStream; 
import java.io.FileNotFoundException; 
import java.io.IOException; 
import java.util.ArrayList; 

import javax.sound.sampled.AudioFormat; 
import javax.sound.sampled.AudioInputStream; 
import javax.sound.sampled.AudioSystem; 
import javax.sound.sampled.DataLine; 
import javax.sound.sampled.LineUnavailableException; 
import javax.sound.sampled.SourceDataLine; 
import javax.sound.sampled.TargetDataLine; 

public class AudioPlayer { 

    private AudioPlayer() { } 

    private static AudioPlayer instance = new AudioPlayer(); 

    public static AudioPlayer getInstance() { 
     return instance; 
    } 

    private static ArrayList<BigClip> clips = new ArrayList<BigClip>(); 

    private BigClip get(String name) { 
     for (BigClip clip : clips) { 
      if (clip.getName().equalsIgnoreCase(name)) return clip; 
     } 
     return null; 
    } 

    public void play(File file) { 
     try { 
      AudioInputStream audioIn = AudioSystem.getAudioInputStream(file); 
      BigClip clip = get(file.getName()); 
      if (clip == null) { 
       BigClip newClip = new BigClip(file.getName()); 
       clips.add(newClip); 
       clip = newClip; 
      } 
      clip.open(audioIn); 
      clip.start(); 
     } 
     catch (Exception e) { e.printStackTrace(); } 
    } 
} 

Однако, когда я пытаюсь запустить его с помощью

AudioPlayer.getInstance().play(new File("audio/people/blacksmith/blacksmith01a_new.wav"));

я получаю трассировку стека:

javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input file 
    at javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:1170) 
    at me.pogostick29.audiorpg.audio.AudioPlayer.play(AudioPlayer.java:38) 
    at me.pogostick29.audiorpg.person.people.Blacksmith.playDialogue(Blacksmith.java:12) 
    at me.pogostick29.audiorpg.AudioRPG.main(AudioRPG.java:33) 

Вот формат, который я использовал при экспорте файла с Audition: http://icap.me/i/AkRHDOFsCW.png

Спасибо за помощь!

+0

Выполните этот код и сообщить результат. 'Файл f = новый файл (« audio/people/blacksmith/blacksmith01a_new.wav »); System.out.println («Файл:» + f.exists()); –

ответ