如果您阅读
Media类的Javadoc ,它说您应该等待媒体播放器准备就绪:
媒体信息是异步获取的,因此不一定在类实例化后立即可用。但是,如果实例已与MediaPlayer关联并且该播放器已转换为Status.READY状态,则所有信息都应该可用。
因此,您只需要创建一个实例
MediaPlayer并侦听
Status.READY:
File filestring = new File("my/file/dir/file.mp3"); Media file = new Media(filestring.toURI().toString()); MediaPlayer mediaPlayer = new MediaPlayer(file); mediaPlayer.setonReady(new Runnable() { @Override public void run() { System.out.println("Duration: "+file.getDuration().toSeconds()); // display media's metadata for (Map.Entry<String, Object> entry : file.getmetadata().entrySet()){ System.out.println(entry.getKey() + ": " + entry.getValue()); } // play if you want mediaPlayer.play(); } });
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)