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

  • AutoklubZAPRESIC

    AutoklubZAPR

    17 Mayıs 2011
  • george sarintzotis

    george sarin

    2 Aralık 2007
  • TitaniumBackup

    TitaniumBack

    10 EYLÜL 2011