현재 JavaFX MediaPlayer를 통해 파일을 재생할 수 있는지 확인하는 방법은 내부적으로 수행되는 방식이므로 JavaFX MediaPlayer를 통해 재생할 수 있는지 확인하는 방법입니다.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에서 더 이상 액세스 할 수 없다"는 것이 문제입니다. 해결 방법이 있다는 것을 알고 있지만 실제로 올바른 올바른 미래 보장 방법이 있는지 궁금합니다.
나는이 방법은 디렉토리 내의 모든 재생 가능한 컨텐츠 라이브러리를 채우려 : 나는 발견을 위해 javafx.media
모듈의 문서를 통해 갔다
Files.find(folderPath, Integer.MAX_VALUE, (path, attr) ->
attr.isRegularFile() && isPlayable(path.toFile().getName()))
.forEach(path -> addSong(path));
그래, 나는 이것을 이미 생각했다. 예외를 잡는 것이 이것을 처리하는 데 선호되는 방법이라고 생각하지는 않는다.이제, 일부 인스턴스에서는 최대 40,000 개가 될 수있는 전체 개체 라이브러리를 저장하므로 파일 개체 또는 미디어 개체의 메모리 사용 공간이 더 큰지 궁금합니다. – Xerus
이제 큰 문제가 발생했습니다. Media 객체는 해당 파일을 잠급니다. 그 후 바로 그 태그를 읽지 못하게됩니다 ... – Xerus
@Xerus는 최종 구현이 무엇으로 끝났습니까? 그래도 또 다른 질문은 (간접적으로 관련된 질문을 피하라고 요구하는 것일까 요?) – nullpointer