2013-07-17 7 views
0

Название в основном рассказывает мою историю, я хотел бы отправить аудио непосредственно в акустическую систему из java-программы, я думал о попытке напрямую написать колонки в/dev/in linux используя байты, полученные из аудиофайла, что я не уверен, что это сработает, но в Windows я не в тупик. Я думал вдоль линий что-то вроде этого:Отправка аудиодиски на динамики java

public void play(byte[] audio){ 
    if(OS.isWindows){//This is where i have no idea, maybe write to javasound with jmf? 
} 
if(OS.isLinux){ 
    BufferedOutputStream bout = new BufferedOutputStream(new FileOutputStream("/dev/blahblah"); 
    bout.write(audio) 
    bout.flush(); 
    bout.close(); 
} 

Мой код почти кажется, просто мне, не то, что я хочу, сложный код, но я хочу работать код. Я действительно не пробовал вышеуказанный код, опасаясь, что я не знаю, что я делаю, и мог бы повредить или прервать что-то в моем компьютере.

ответ

0

Вы не можете просто cat tune.wav > /dev/dsp больше (не без some tricks), и путь ваш пытается это звуки слишком низкий уровень - так выбрать библиотеку.

Возможно, вам повезло со стандартными, такими как javax.sound (простой) и JMF (больше функций).

Или вы можете попробовать стороннюю библиотеку, такую ​​как Jogamp JOAL (многофункциональный), которую вы можете использовать с Windows и Linux (через собственные библиотеки).

EDIT: Для MP3

  1. Просто заметил с Java 7-х javafx вы можете легко сделать, см this answer

  2. Чтобы свернуть свой собственный с javax.sound: следовать этот учебник по созданию для SPI * для создания AudioFileReader обработки MP3. (Примечание предыдущая ссылка SPI является javax.sound специфична, но SPI is a general concept)

  3. В качестве альтернативы JMF может обрабатывать mp3s with this, и вы можете поиска, как гнездо банки и т.д., если вы решили предоставить один артефакт.

+0

Моя единственная проблема с javax.sound, есть поддержка mp3. Я знаю через сложную процедуру, что вы можете декодировать mp3, но я не знаю, как это сделать. Если бы вы могли дать мне образец кода для javax.sound, просто о том, как декодировать mp3, я бы с удовольствием использовал звуковой lib, включенный – Terra

+0

@Terra, обновленный re: MP3 =) – earcam

+0

Ах спасибо, это должно работать хорошо! Только один вопрос, с javafx, нужно ли вставлять банки во время компиляции, для простой передачи от пользователя к пользователю? – Terra

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