当前位置: 首页 > 知识库问答 >
问题:

使用vlcj创建媒体播放器时创建本机媒体资源失败

阎星河
2023-03-14
    NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), NATIVE_LIBRARY_SEARCH_PATH);
    System.out.println(LibVlc.INSTANCE.libvlc_get_version());
    }

    // Swing part
    SwingUtilities.invokeLater(new Runnable() {
        @Override
        public void run() {
            new Tutorial(args);
        }
    });



        mediaPlayerComponent.getMediaPlayer().addMediaPlayerEventListener(new MediaPlayerEventAdapter() {
            @Override
            public void playing(MediaPlayer mediaPlayer) {
                SwingUtilities.invokeLater(new Runnable() {
                    @Override
                    public void run() {
                        frame.setTitle(String.format(
                            "My First Media Player - %s",
                              mediaPlayerComponent.getMediaPlayer().getMediaMeta().getTitle()
                        ));
                    }
                });
            }

            public void finished(MediaPlayer mediaPlayer) {
                SwingUtilities.invokeLater(new Runnable() {
                    @Override
                    public void run() {
                        closeWindow();
                    }
                });
            }


            public void error(MediaPlayer mediaPlayer) {
                SwingUtilities.invokeLater(new Runnable() {
                    @Override
                    public void run() {
                        JOptionPane.showMessageDialog(
                            frame,
                            "Failed to play media",
                            "Error",
                            JOptionPane.ERROR_MESSAGE
                        );
                        closeWindow();
                    }
                });
            }
        });

        frame.setContentPane(contentPane);
        frame.setVisible(true);

        mediaPlayerComponent.getMediaPlayer().playMedia(args[0]);
    }

1367[AWT-EventQueue-0]信息uk.co.caprica.vlcj.binding.libvlcfactory-libvlc:c:\program files\videolan\vlc\libvlc.dll

2061[AWT-EventQueue-0]错误uk.co.caprica.vlcj.player.DefaultMediaPlayer-未能为“SimpleMedia[mrl=c://users/venkatneehar/downloads/1.mpg,MediaOptions=[ljava.lang.string;@A420335]”创建本机媒体资源

共有1个答案

谢阳曜
2023-03-14

您的MRL(文件名)在Windows上使用正斜杠。

由于跨平台兼容性的原因,Java在Windows上接受正斜杠,但当将文件名传递给VLC时,它将不起作用,VLC使用本机函数调用来打开文件。

所以,使用一个带反斜杠的“正确的”Windows文件名,它就会起作用。

 类似资料:
  • 我目前在一个项目中使用Javafx 2,我可能需要长时间无限循环播放一个视频。在windows上,当视频播放时,我的proifiler工具显示非常正常的图片,cpu负载不是很重(在2个内核上运行时约为2x40-50%),内存使用峰值约为250 MB,这是正常的。但是,当我在Ubuntu机器上部署应用程序时,每个内核的cpu负载达到70%左右(尽管它是一个双核atom处理器,所以假设这是正常的),内

  • 1.1.1. 多媒体播放 1.1.1. 多媒体播放 我们事实上对上游芯片厂商自带的播放器方式做了调整。 Amlogic 芯片 BaseCode 我们禁用了芯片厂商的原生代码的 libplayer 包,原因是芯片厂商的播放器是直接使用 ALSA 框架来调用音频播放功能的。 这对我们 RokidOS 平台让多个进程使用音频设备造成阻碍。基于这个因素,我们使用了 RokidOS 开发的媒体播放库 lib

  • 当我使用MediaPlayer播放mp3文件时,系统会报告错误日志:。但是RealPlayer是正常的。 我发现它的错误只发生在更高的ROM版本。像4.0版本一样,它有错误。在2.3版中,它没有这个错误。 代码: 日志猫错误:

  • 我想创建一个从一个设备到一个节点服务器的实时音频流,然后可以将该实时提要广播到几个前端。 我已经为此进行了广泛的搜索,并且真的碰壁了,所以希望有人能帮忙。 我能够得到我的音频输入从API。 然后将流传递给函数,该函数使用API创建createMediaStreamSource` 在我的函数中,我现在有一个对象,我可以流式处理它。 目前,我通过套接字连接以流的形式发送音频事件,如下所示: 这是最好的

  • 我正在开发我的第一个Android应用程序。这是一个录音应用程序。我正在用MediaRecord录制语音,如下所示: 我有另一个活动回放这些录制的声音(文件)。在这个活动中,有一个包含我录制的声音的ListView。我想用手机上安装的任何音乐播放器播放声音。这里我的代码:(此代码的来源:https://stackoverflow.com/a/3367231/556169) 但我得到了“音乐播放器不

  • 我正在开发一个包含一些音频播放器的RecyclerView的应用程序。应用程序将下载。3gp文件(如果尚未下载)。 当我单击playAudio按钮时,音频未被播放。 这是我的适配器代码: 我怎样才能解决这个问题?