2012-04-12 2 views

ответ

1

Видимо, ответ отрицательный. Не смогли найти что-нибудь там.

0

Использование Quicktime API для выполнения такой вещи,

я решить мою проблему с помощью этого quickTime.jar

Вы можете скачать эту утилиту из apple.com.

+1

Ах, но причина, по которой я ищу spi, - это то, что у меня уже есть почти все другие медиаформаты, поддерживаемые и работающие в моей системе через javasound. Поэтому добавление поддержки WMA было бы так же просто, как перетаскивание .jar. Я действительно не хочу полного api. Спасибо хоть! – Nico

0

Я понимаю, что вы ищете файл .jar, чтобы просто зайти и предоставить поддержку WMA-файлов, но это решение было тем, что я получил поддержку .wma-файлов, и это было не намного сложнее, чем сбросить новую банку. Это не технически SPI, но поскольку, похоже, нет такой вещи, я думал, что простая альтернатива может оказаться полезной для публикации.

От this answer Я нашел свое направление. Прежде чем вы погрузитесь в JAVE и посмотрите, что это такое, я предоставил длину кода, чтобы вы могли видеть, сколько мне пришлось писать, чтобы преобразовать и воспроизвести wma-файл. Все JAVE требует, чтобы вы использовали экземпляр класса Encoder.

try { 
    EncodingAttributes attr = new EncodingAttributes(); 
    attr.setAudioAttributes(new AudioAttributes()); //default values 
    attr.setVideoAttributes(new VideoAttributes()); //default values 
    attr.setFormat("wav"); //this is the target format I am trying to achieve 
    //b.wma is a file I brought to the project 
    File wma = new File("Resources\\b.wma"); 
    //target.wav is the created file I'll achieve after the encode, which gets used to make a Clip 
    File target = new File("Resources\\target.wav"); 
    Encoder encoder = new Encoder(); 
    //this will show you all supported encoding/decoding formats 
    //String[] list = encoder.getSupportedEncodingFormats(); 
    //String[] list = encoder.getSupportedDecodingFormats() 
    encoder.encode(wma, target, attr); 
    AudioInputStream is = AudioSystem.getAudioInputStream(target); 
    Clip clip = AudioSystem.getClip(); 
    clip.open(is); 
    clip.setFramePosition(0); 
    clip.start(); 

} catch (IllegalArgumentException | EncoderException e) { 
    e.printStackTrace(); 
} catch (UnsupportedAudioFileException e) { 
    e.printStackTrace(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} catch (LineUnavailableException e) { 
    e.printStackTrace(); 
} 
0

Если вы находитесь на Windows 7 или более поздней версии, вы можете попробовать MFSampledSP.

Если вы предприимчивы и нуждаетесь в поддержке других платформ, кроме Windows, вы можете попробовать изменить FFSampledSP и его проект вверх.

Смежные вопросы