SORU
3 NİSAN 2011, Pazar


java.ıo.Ioexception: mark/desteklenen Sıfırla.

try {
    //String location = dir1.getCanonicalPath() "\\app_yamb_test1\\mySound.au";
    //displayMessage(location);
    AudioInputStream audio2 = AudioSystem.getAudioInputStream(getClass().getResourceAsStream("mySound.au"));
    Clip clip2 = AudioSystem.getClip();
    clip2.open(audio2);
    clip2.start();
} catch (UnsupportedAudioFileException uae) {
    System.out.println(uae);
    JOptionPane.showMessageDialog(null, uae.toString());
} catch (IOException ioe) {
    System.out.println("Couldn't find it");
    JOptionPane.showMessageDialog(null, ioe.toString());
} catch (LineUnavailableException lua) {
    System.out.println(lua);
    JOptionPane.showMessageDialog(null, lua.toString());
}

Bu kod Eclipse uygulama çalıştırdığımda gayet iyi çalışıyor. Ses çalar ve istisnalar vardır. Ben dağıtım klasöründen çalıştırdığınızda, ancak sesi çalmıyor ve mesajı benim iletişim içinde java.io.IOException: mark/reset not supported olsun.

Bu durumu nasıl düzeltebilirim?

CEVAP
3 NİSAN 2011, Pazar


AudioSystem.getAudioInputStream(InputStream) belgelerine diyor ki:

Bu yöntemin uygulanması olabilir birden fazla ayrıştırıcıları incelemek için gerektirir onlar olup olmadığını belirlemek için akış destek. Bu ayrıştırıcıları gerekir akış mark, yeterli veri okumak onlar destek olup olmadığını belirlemek için izle, ve, değilse, sıfırlama akış okuma özgün için işaretçi pozisyon. Eğer giriş akışı mı yoksa bu işlem, bu yöntem destek bir IOException ile başarısız olabilir.

Bu nedenle, bu yöntem için verdiğiniz akışı mark/reset isteğe bağlı işlevleri desteklemesi gerekir. BufferedInputStream bir kaynak akışı süsleyin.

//read audio data from whatever source (file/classloader/etc.)
InputStream audioSrc = getClass().getResourceAsStream("mySound.au");
//add buffer for mark/reset support
InputStream bufferedIn = new BufferedInputStream(audioSrc);
AudioInputStream audioStream = AudioSystem.getAudioInputStream(bufferedIn);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • fufko

    fufko

    27 ŞUBAT 2006
  • MW Technology

    MW Technolog

    28 EKİM 2009
  • bored before i even began

    bored before

    30 Mart 2009