Erro ao inserir video no fx

Galera to tentando inserir um video no java mas ta dando erro alguem me ajuda?

package application;

import javafx.fxml.FXML;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.scene.media.MediaView;

public class Controller {
    
    @FXML
    private MediaView MV;
    
    public Controller() {}
    
    @FXML
    public void initialize() {
        String caminhoV="C:/Users/lendoval/eclipse-workspace2/JavaFX_1/src/res/v1.mp4";
        Media media = new Media(caminhoV);
        MediaPlayer mp = new MediaPlayer(media);
        MV = new MediaView(mp);
        mp.play();
    }
}
package application;
	
import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.fxml.FXMLLoader;

public class Main extends Application {
    
    @Override
    public void start(Stage primaryStage) {
        try {
            AnchorPane root = (AnchorPane)FXMLLoader.load(getClass().getResource("Sample.fxml"));
            Scene scene = new Scene(root,400,400);
            scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
            primaryStage.setScene(scene);
            primaryStage.show();
        } catch(Exception e) {
            e.printStackTrace();
        }
    }
    
    public static void main(String[] args) {
        launch(args);
    }
}
<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.media.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.Controller">
    <children>
        <MediaView fx:id="MV" fitHeight="200.0" fitWidth="200.0" layoutX="200.0" layoutY="100.0" />
    </children>
</AnchorPane>
ERRO

javafx.fxml.LoadException:
/C:/Users/lendoval/eclipse-workspace2/JavaFX_1/bin/application/Sample.fxml
    at javafx.fxml/javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2714)
    at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2684)
    at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2555)
    at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3368)
    at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3324)
    at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3292)
    at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3264)
    at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3240)
    at javafx.fxml/javafx.fxml.FXMLLoader.load(FXMLLoader.java:3233)
    at JavaFX_1/application.Main.start(Main.java:14)
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:847)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:484)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)
    at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:184)
    at java.base/java.lang.Thread.run(Thread.java:833)

Caused by: java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:119)
    at java.base/java.lang.reflect.Method.invoke(Method.java:577)
    at com.sun.javafx.reflect.Trampoline.invoke(MethodUtil.java:77)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
    at java.base/java.lang.reflect.Method.invoke(Method.java:577)
    at javafx.base/com.sun.javafx.reflect.MethodUtil.invoke(MethodUtil.java:275)
    at javafx.fxml/com.sun.javafx.fxml.MethodHelper.invoke(MethodHelper.java:84)
    at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2680)
... 17 more

Caused by: java.lang.UnsupportedOperationException: Unsupported protocol "c"
    at javafx.media/com.sun.media.jfxmedia.locator.Locator.<init>(Locator.java:241)
    at javafx.media/javafx.scene.media.Media.<init>(Media.java:393)
    at JavaFX_1/application.Controller.initialize(Controller.java:27)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
... 24 more

Ao passar o caminho do vídeo tente colocar file:// no início:

String caminhoV = "file://c:/Users/lendoval/eclipse-workspace2/JavaFX_1/src/res/v1.mp4";

Se estiver usando o NetBeans, dá um “Clean and Build”.
Ele não encontrou o arquivo FXML, e certifique que esse arquivo esteja no lugar correto.

Tentei o sequine , mas nao funcionou, o video esta numa pasta res junto com o programa configurada com biuld path, uso o eclipse.
String caminhoV = “file://C:/Users/pc/eclipse-workspace/JavaV_FX/res/v1.mp4”;
Media media = new Media(caminhoV);
MediaPlayer mp = new MediaPlayer(media);
mv = new MediaView(mp);

  mp.play();

erro…
javafx.fxml.LoadException:

/C:/Users/pc/eclipse-workspace/JavaV_FX/bin/application/Sample.fxml:9

at javafx.fxml/javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2714)

at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:944)

at javafx.fxml/javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:981)

at javafx.fxml/javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:230)

at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:755)

at javafx.fxml/javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2845)

at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2641)

at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2555)

at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3368)

at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3324)

at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3292)

at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3264)

at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3240)

at javafx.fxml/javafx.fxml.FXMLLoader.load(FXMLLoader.java:3233)

at JavaV_FX/application.Main.start(Main.java:14)

at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:847)

at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:484)

at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)

at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)

at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)

at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)

at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)

at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:184)

at java.base/java.lang.Thread.run(Thread.java:833)

Caused by: java.lang.reflect.InvocationTargetException

at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)

at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)

at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)

at javafx.fxml/javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:939)

… 22 more

Caused by: MediaException: MEDIA_INACCESSIBLE : C

at javafx.media/javafx.scene.media.Media.(Media.java:409)

at JavaV_FX/application.SampleController.(SampleController.java:18)

… 28 more

Como dito antes ele não esta encontrando o FXML

ate ae entendi mas não entendi o por q, o arquivo esta no local coreto, no formato correto ja tentei nomenclatura do caminho com “/”, “//”, “",”\", com “file:” , tentei com vídeos da internet, de nuvem, so o nome do vídeo e o formato ja q esta no mesmo diretório do programa, pensei q podia se o pc fraco tentei em outro, tentei outras versões a mais atualizada e 3 anteriores mas o erro e sempre o mesmo, então pressuponho q tenha algo errado no meu código, se eu inicializar a janela sem o algoritmo do vídeo a janela abre normalmente.

Ok, se desejar uma ajuda real, me passa um codigo resumido rodando que apresenta esse erro.
Seu projeto esta feito usando qual IDE?

eu botei um zip no google derive o arquivo simplificado pode olhar? eu uso o eclipse 2023

Dentro dele comentei os erros e rodou
Caso não entenda alguma coisa estou a disposição

Bons Codigos

1 curtida

aaaaa cara funcionouuuuu poxa valeuu mesmo olhei em uns 10 livros, vídeos no youtub e ate no gpt perguntei e tudo dizia a mesma coisa e não pegava, kkkkk vibrei aqui como se o Brasil tivesse feito goll na copa quando escutei o áudio saindo e logo em seguida a janela do vídeo abre. então é isso preciso seta a classe principal nunca q ia descobrir só, e o objeto do media q eu criei outro sem precisar.

1 curtida