2014-12-12 2 views
1

javafx.scene.media.MediaPlayer 클래스를 사용하여 커버 (썸네일) 이미지로 큰 png 파일을 포함하는 mp3를 재생할 수 없습니다. 첨부 된 예제 mp3 파일 및 NetBeans 프로젝트에서 컴파일 된 응용 프로그램을 통해 문제를 재현 할 수 있습니다. MP3를 여는 동안 MediaPlayer는 예외를 throw하지 않지만 파일은 재생되지 않습니다.JavaFX MediaPlayer가 큰 png 커버로 mp3를 재생하지 않습니다.

커버가없는 MP3 파일은 정상적으로 재생되며 mp3에는 동일한 커버가 포함되어 있지만 jpg 형식으로도 재생됩니다. MPC-HC x64 및 표준 Windows Media Player를 사용하여 큰 png 커버로 mp3를 재생할 수 있습니다. 필자는 Windows 7 Ultimate 64 비트에서 Java 8 Update 25를 사용하여 1.8.0_25-b18을 테스트했습니다.

내 시나리오에서 mp3 파일 자체를 변경할 수 없습니다. mp3 파일의 내용을 변경하지 않는 해결 방법에 대한 어떤 힌트도 크게 부탁드립니다. https://www.dropbox.com/s/1vzw6hqteza0164/BugReproduction.zip?dl=0

추신 :

당신은 여기에 언급 된 아카이브를 찾을 수 있습니다 mp3tag 응용 프로그램 (http://www.mp3tag.de/en/download.html)으로 mp3 표지 이미지를 변경할 수 있습니다.

+0

this 읽기 JavaFX 문제 추적기 (https://javafx-jira.kenai.com) – jewelsea

답변

1

나는 당신의 코드를 테스트한다. 문제는 표지 이미지의 크기 또한 jpg이다. 이미지가 2MB 이상이면 png 일뿐만 아니라 @jewelsea에 따르면 javafx-jira.kenai에서 버그 보고서를 기록 할 수있다. .COM,

내가 당신에게 하나 개의 코드 솔루션을 제안 할 수 있습니다 :이를 위해 당신은 자바 코드 이미지 덮개가없는 MP3의 임시 파일을 만들 수 있습니다 ...

... 
mediaPlayer.setOnError(()-> { 
    (code to create temp file ...) 
    Media media = new Media(<tempfile>); 
    mediaPlayer = new MediaPlayer(media); 
    mediaPlayer.play(); 
}); 
mediaPlayer.play(); 

이 두 솔루션 :

1) 구조체를 연구 할 수 있습니다 임시 파일을 생성하기위한 위키 피 디아에 this에서 MP3 파일의 전자 및 this

2) 당신은 줄 명령 eyeD3 --remove-image mp3file tempmp3file에서이 옵션을 Windows 용 eyeD3를 설치 this를 확인하고 자바 코드에서 사용할 수 있습니다, 버그 리포트를 로그

+0

에세이가 도움이 되었기를 바랍니다. – Mailkov

+0

고마워요! 나는 버그 보고서를 기록했다. – Iaroslav

관련 문제