2012-04-12 12 views

Trả lời

1

Rõ ràng câu trả lời là không. Đã không thể tìm thấy bất cứ điều gì ra khỏi đó.

0

Sử dụng Quicktime API để làm một điều như vậy,

tôi đã giải quyết vấn đề của tôi sử dụng này quickTime.jar

bạn có thể tải tiện ích này từ apple.com.

+1

Ah nhưng lý do tôi tìm kiếm một spi là vì tôi đã có hầu như tất cả các định dạng phương tiện truyền thông khác được hỗ trợ và làm việc trong hệ thống của tôi thông qua javasound. Vì vậy, việc thêm hỗ trợ WMA sẽ dễ dàng như kéo và thả .jar. Tôi không thực sự muốn một api đầy đủ. Cảm ơn mặc dù! – Nico

0

Tôi nhận ra bạn đang tìm kiếm tệp .jar để chỉ cần thả vào và cung cấp hỗ trợ cho tệp .wma, nhưng giải pháp này là cách tôi nhận hỗ trợ cho các tệp .wma và nó không phức tạp hơn nhiều so với việc bỏ một cái lọ mới. Đây không phải là một SPI về mặt kỹ thuật, nhưng vì dường như không có thứ gì như vậy, tôi nghĩ một giải pháp thay thế đơn giản có thể hữu ích khi đăng.

Từ this answer Tôi đã tìm thấy hướng của mình. Trước khi bạn đi sâu vào JAVE và xem nó là gì, mặc dù, tôi sẽ cung cấp một chiều dài của mã để bạn có thể nhìn thấy bao nhiêu tôi đã phải viết để có được một tập tin wma chuyển đổi và chơi. Mọi thứ JAVE yêu cầu bạn sử dụng một thể hiện của lớp 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

Nếu bạn đang sử dụng Windows 7 trở lên, bạn có thể muốn thử MFSampledSP.

Nếu bạn thích mạo hiểm và cần hỗ trợ các nền tảng khác so với Windows, bạn có thể thử sửa đổi FFSampledSP và dự án thượng nguồn của nó.

Các vấn đề liên quan