Odtwarzanie dźwieku -> Exception na Linuxie

Odpowiedz Nowy wątek
Ja
2011-12-25 12:43
Ja
0

Program pisze w NetBeansie na Windows 7. Kod na odtwarzanie dźwieku wyglada tak:

try {
            AudioInputStream stream = AudioSystem.getAudioInputStream(getClass().getResource("/test/package/sound/sound.wav"));
            Clip clip = AudioSystem.getClip();
            clip.open(stream);
            clip.start();
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null, ex.toString(), "Error!", JOptionPane.ERROR_MESSAGE);
        }

Po kompilacji na Windowsie działa bez problemow natomiast na Linuxie wywala exception: http://i.imgur.com/gGxbu.png

Pozostało 580 znaków

omen
2011-12-25 14:51
omen
0

Moze nie masz kodekow na linuxie potrzebnych i dlatego sypie bledem

Pozostało 580 znaków

Ja
2011-12-25 16:03
Ja
0

Tak kodeki na linuxie, napewno ;p

Pozostało 580 znaków

2011-12-25 16:07

Rejestracja: 14 lat temu

Ostatnio: 7 miesięcy temu

0

Szanowny kolego, bądź łaskaw nie prowadzić rozmowy sam ze sobą. Nie ma co "podbijać postu", poczekaj spokojnie na odpowiedź zamiast się wygłupiać :]


Pozostało 580 znaków

2011-12-25 16:24

Rejestracja: 11 lat temu

Ostatnio: 5 miesięcy temu

0

Taki format danych jest niewspierany... ciekawe

Może zapoznaj się trochę z tym http://www.jsresources.org/faq_audio.html

Sprawdź jakie formaty są tam tam wspierane:
kawałek kodu z tej strony, wypisz to co jest w "supportedFormats" na output

Line.Info[] infos = AudioSystem.getSourceLineInfo();
for (int i = 0; i < infos.length; i++)
{
  if (infos[i] instanceof DataLine.Info)
  {
    DataLine.Info dataLineInfo = (DataLine.Info) infos[i];
    AudioFormat[] supportedFormats = dataLineInfo.getFormats();
  }
}
edytowany 2x, ostatnio: Kerai, 2011-12-25 16:26

Pozostało 580 znaków

Ja
2011-12-25 16:58
Ja
0

Wywala mi blad w lini Line.Info[] infos = AudioSystem.getSourceLineInfo();

I co teraz?

Pozostało 580 znaków

2011-12-25 23:27

Rejestracja: 11 lat temu

Ostatnio: 5 miesięcy temu

1

user image

Pozostało 580 znaków

Ja
2011-12-26 00:34
Ja
0

Tak z checia dalbym ci stacktrace gdyby nie wywalalo bledu w tej lini Line.Info[] infos = AudioSystem.getSourceLineInfo();
Method getSourceLineInfo cannot be applied to given types

Pozostało 580 znaków

2011-12-26 07:19

Rejestracja: 11 lat temu

Ostatnio: 5 miesięcy temu

0

zmień na getSourceLineInfo(new Line.Info(null))
a po supportedFormats dodaj to:

        for(AudioFormat fmt : supportedFormats)
        {
            System.out.println(fmt);
        }
edytowany 1x, ostatnio: Kerai, 2011-12-26 07:20

Pozostało 580 znaków

Ja
2011-12-26 12:29
Ja
0
 PCM_SIGNED unknown sample rate, 8 bit, mono, 1 bytes/frame, 
PCM_UNSIGNED unknown sample rate, 8 bit, mono, 1 bytes/frame, 
PCM_SIGNED unknown sample rate, 8 bit, stereo, 2 bytes/frame, 
PCM_UNSIGNED unknown sample rate, 8 bit, stereo, 2 bytes/frame, 
PCM_SIGNED unknown sample rate, 16 bit, mono, 2 bytes/frame, big-endian
PCM_SIGNED unknown sample rate, 16 bit, mono, 2 bytes/frame, little-endian
PCM_SIGNED unknown sample rate, 16 bit, stereo, 4 bytes/frame, big-endian
PCM_SIGNED unknown sample rate, 16 bit, stereo, 4 bytes/frame, little-endian
PCM_SIGNED unknown sample rate, 8 bit, mono, 1 bytes/frame, 
PCM_UNSIGNED unknown sample rate, 8 bit, mono, 1 bytes/frame, 
PCM_SIGNED unknown sample rate, 8 bit, stereo, 2 bytes/frame, 
PCM_UNSIGNED unknown sample rate, 8 bit, stereo, 2 bytes/frame, 
PCM_SIGNED unknown sample rate, 16 bit, mono, 2 bytes/frame, big-endian
PCM_SIGNED unknown sample rate, 16 bit, mono, 2 bytes/frame, little-endian
PCM_SIGNED unknown sample rate, 16 bit, stereo, 4 bytes/frame, big-endian
PCM_SIGNED unknown sample rate, 16 bit, stereo, 4 bytes/frame, little-endian

Pozostało 580 znaków

Ja
2011-12-27 13:46
Ja
0

I co teraz?

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0