Java clip.play зависает при 3-м вызове - PullRequest
1 голос
/ 24 октября 2010

Я использую Java-приложение (Netbeans) в Ubuntu 10.10. Следующий код воспроизводит звук правильно первые два раза, когда он вызывается. При третьем вызове приложение зависает, и мне приходится убивать процесс. Есть идеи?

try {
        String path = ApplicationContext.getInstance().getAppDirectory();
        java.net.URL url = new java.net.URL("file:"+path+"my.wav");
        java.applet.AudioClip clip = java.applet.Applet.newAudioClip(url);
        clip.play( );
    }catch (java.net.MalformedURLException malex){
        Logger.log(malex);
    }

Об исключениях или ошибках не сообщается.

1 Ответ

0 голосов
/ 25 октября 2010

отладка с помощью strace становилась действительно сложной. В итоге я выбрал легкий путь. Вот мое решение:

java.io.InputStream in = new java.io.FileInputStream(path+"my.wav"); 
sun.audio.AudioStream as = new sun.audio.AudioStream(in);
sun.audio.AudioPlayer.player.start(as);

К сожалению, это не хорошее решение, потому что: предупреждение: sun.audio.AudioStream является внутренним частным API и может быть удален в будущем выпуске.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...