gpt4 book ai didi

JavaFX 在播放某些 mp3 文件时抛出 ERROR_MEDIA_INVALID

转载 作者:行者123 更新时间:2023-12-04 08:09:10 27 4
gpt4 key购买 nike

尝试通过 JavaFX 媒体播放器播放某些 .mp3 文件时,我不断收到 ERROR_MEDIA_INVALID 错误。以前的谷歌搜索只是导致旧的错误报告,我不确定这是一个实际的错误还是我遗漏的东西。
例子:

package sample;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.stage.Stage;

import java.io.File;

public class Main extends Application {

@Override
public void start(Stage primaryStage) throws Exception{

primaryStage.setTitle("Hello World!");
Button btn = new Button();
btn.setText("Say 'Hello World'");
btn.setOnAction(new EventHandler<ActionEvent>() {

@Override
public void handle(ActionEvent event) {

//change filename as needed
var file = new File("C:/Users/tgaravaglia/Downloads/test.mp3");

var media = new Media(file.toURI().toString());
var player = new MediaPlayer(media);
player.setOnError(new Runnable()
{
@Override
public void run()
{
//ERROR_MEDIA_INVALID here
player.getError().printStackTrace();
}
});
player.play();
}
});

StackPane root = new StackPane();
root.getChildren().add(btn);
primaryStage.setScene(new Scene(root, 300, 250));
primaryStage.show();
}


public static void main(String[] args) {
launch(args);
}
}
堆栈跟踪:
MediaException: UNKNOWN : [com.sun.media.jfxmediaimpl.platform.gstreamer.GSTMediaPlayer@6f4b481f] ERROR_MEDIA_INVALID: ERROR_MEDIA_INVALID
at javafx.media/javafx.scene.media.MediaException.getMediaException(MediaException.java:160)
at javafx.media/javafx.scene.media.MediaPlayer$_MediaErrorListener.onError(MediaPlayer.java:2623)
at javafx.media/com.sun.media.jfxmediaimpl.NativeMediaPlayer$EventQueueThread.HandleErrorEvents(NativeMediaPlayer.java:692)
at javafx.media/com.sun.media.jfxmediaimpl.NativeMediaPlayer$EventQueueThread.run(NativeMediaPlayer.java:426)
工作文件: https://drive.google.com/file/d/1e3k9gVhV_hDehWHwhHElXC2jU4aKn6oc/view?usp=sharing
损坏的文件: https://drive.google.com/file/d/1_VKx4zLH6lFLv6VJdDvrP6IP3c-TjOYo/view?usp=sharing

最佳答案

所以……我想通了。那个糟糕的“mp3”文件实际上是一个变相的 .wav 文件。我通过基于云的 wav->mp3 转换器运行它,现在它工作正常。希望这可以帮助将来遇到同样问题的人!

关于JavaFX 在播放某些 mp3 文件时抛出 ERROR_MEDIA_INVALID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66073923/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com