我试图在此代码中播放.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);
}
}
答案 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>
然后在玩家完成播放音频时定期清理列表