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

  • brokenbellsVEVO

    brokenbellsV

    11 EYLÜL 2009
  • captainpuppys2000

    captainpuppy

    20 HAZİRAN 2013
  • snookie77

    snookie77

    2 Mart 2006