How can I play mp4 with vlcj?(如何用VLCJ播放MP4?)
问题描述
我正在尝试在Java应用程序中播放.mp4文件。我不需要任何控制按钮(播放、停止)等。当我运行这段代码时,我唯一看到的是一个黑色方块。我能做些什么呢?
import java.awt.*;
import javax.swing.*;
import com.sun.jna.Native;
import com.sun.jna.NativeLibrary;
import uk.co.caprica.vlcj.binding.LibVlc;
import uk.co.caprica.vlcj.player.MediaPlayerFactory;
import uk.co.caprica.vlcj.player.embedded.EmbeddedMediaPlayer;
import uk.co.caprica.vlcj.player.embedded.windows.Win32FullScreenStrategy;
import uk.co.caprica.vlcj.runtime.RuntimeUtil;
public class Vid {
public static void main(String[] args) {
JFrame f = new JFrame("Play");
f.setSize(500, 500);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLocationRelativeTo(null);
f.setVisible(true);
Canvas c = new Canvas();
c.setBackground(Color.black);
JPanel p = new JPanel(new BorderLayout());
p.add(c);
f.setContentPane(p);
NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), "C:/Program Files/VideoLAN/VLC");
Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);
MediaPlayerFactory mpf = new MediaPlayerFactory();
EmbeddedMediaPlayer emp = mpf.newEmbeddedMediaPlayer(new Win32FullScreenStrategy(f));
emp.setVideoSurface(mpf.newVideoSurface(c));
emp.prepareMedia("C:/file.mp4");
emp.play();
}
}
推荐答案
屏幕变黑只是因为您的媒体没有开始播放。
如果检查您正在进行的prepareMedia
和/或play
调用的返回值,您可能会发现它们返回False以指示错误。
这可能是因为您指定了独立于Java平台的文件名"c:/file.mp4"样式。
您需要认识到,vlcj使用的是LibVLC,这是一个本机库,因此您传递给该本机库的内容实际上是"c:/file.mp4"--这不是在Windows上使用的正确文件名。
您需要传递"c:file.mp4",更准确地说,传递"c:\file.mp4",因为反斜杠必须转义。
与您的问题无关,播放前无需调用prepareMedia
,改用playMedia
方法。
这篇关于如何用VLCJ播放MP4?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何用VLCJ播放MP4?


基础教程推荐
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- 降序排序:Java Map 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01