JavaFx MediaPlayer无法播放由ffmpeg转换的我的mp3和m4a文件

时间:2018-08-10 15:51:33

标签: javafx ffmpeg mp3 media-player m4a

我录制了一些来自麦克风的.wav文件,并将其转换为mp3和m4a文件。这些文件可以使用我的桌面播放器正确播放。

然后在我的JavaFX程序中,我将其播放为:

String fileUri = file.toURI().toString();
Media media = new Media(fileUri);
MediaPlayer mediaPlayer = new MediaPlayer(media);
mediaPlayer.play();

但是没有声音,也没有错误。

我使用ffmpeg来查看它们:

ffmpeg -i demo.m4a

Input #0, aac, from 'demo.m4a':
  Duration: 00:00:54.00, bitrate: 132 kb/s
    Stream #0:0: Audio: aac (LC), 44100 Hz, stereo, fltp, 132 kb/s

ffmpeg -i hello.mp3

Input #0, mp3, from 'hello.mp3':
  Metadata:
    encoder         : Lavf57.83.100
  Duration: 00:00:01.12, start: 0.069063, bitrate: 49 kb/s
    Stream #0:0: Audio: mp3, 16000 Hz, stereo, s16p, 48 kb/s

并使用此命令通过ffmpeg进行转换:

ffmpeg -i hello.wav hello.mp3

不确定哪里错了。


更新:最后,我使用此命令生成可以由JavaFx播放的mp3

 ffmpeg -i hello.wav -f mp2 hello.mp3

(也可以添加-c:a libmp3lame以生成较小尺寸的mp3)

似乎JavaFx仅支持mp2格式的mp3文件。

0 个答案:

没有答案