【发布时间】:2017-11-04 10:57:40
【问题描述】:
目前,这是我检查文件是否可通过 JavaFX MediaPlayer 播放的方式,因为这是在内部完成的方式。
import static com.sun.media.jfxmedia.MediaManager.canPlayContentType;
import static com.sun.media.jfxmediaimpl.MediaUtils.filenameToContentType;
public boolean isPlayable(String filename) {
return canPlayContentType(filenameToContentType(filename));
}
问题在于,包含这些方法的包“不是 API”,在 Java 9 上不再可访问。我知道有一些解决方法,但我想知道是否有一种真正正确、面向未来的方法?
我希望这种方法能够用目录中的所有可播放内容填充库:
Files.find(folderPath, Integer.MAX_VALUE, (path, attr) ->
attr.isRegularFile() && isPlayable(path.toFile().getName()))
.forEach(path -> addSong(path));
【问题讨论】:
标签: java javafx media-player java-9 audio-player