我1:30分钟的WAV文件只播放了三秒钟

时间:2017-07-07 17:30:43

标签: java

我试图在此代码中播放.wav文件,但出于某种原因,它只播放长达一分钟的歌曲大约三秒钟。有没有人有任何想法?

private void btnPlayActionPerformed(java.awt.event.ActionEvent evt) { 

   try {
        JFXPanel j = new JFXPanel();
        String uri = new File("04_Kensington_Chump (1).wav").toURI().toString();
        new MediaPlayer(new Media(uri)).play();
    } catch (Exception ex) {
        JOptionPane.showMessageDialog(this, ex);
    }

}    

1 个答案:

答案 0 :(得分:3)

您正在该方法中创建一个新的媒体播放器,并将其保留在那里而不将其存储在您稍后可以访问的变量中。这会导致垃圾收集器将其拾起。

创建一个列表来存储所有媒体播放器,这样垃圾收集器就不会销毁它们,这应该可以解决问题

<html>
<head>
    <link rel="stylesheet" href="http://cdn.quilljs.com/0.16.0/quill.snow.css" />
    <script type="text/javascript"
        src="https://ajax.googleapis.com/ajax/libs/dojo/1.7.0/dojo/dojo.js"
        data-dojo-config="async: true, packages: [
            { name: 'quill', location: 'http://cdn.quilljs.com/0.16.0/', main: 'quill' }
         ]" />
</head>
<body>
    <div id="editor">
        Editor in chief!
    </div>
    <script type="text/javascript">
        define.amd.quill = true;
        require(["quill"], function(quill){
            var editor = new Quill("#editor");
        });
    </script>
</body>

然后在玩家完成播放音频时定期清理列表