VLCJ-透明背景时黑屏

时间:2019-03-01 15:47:52

标签: java swing vlcj

我正在使用vlcj在应用程序中显示带有OutOfProcessMediaPlayerComponent的视频。为此,我将视频画布添加到未修饰的JDialog的内容窗格中。可以按预期工作,但是当我将对话框的背景色设置为透明时,视频画布显示为空白,视频不再起作用。该行为是可重现的,并通过以下代码完成:

[...]
JPanel contentPane = new JPanel(new BorderLayout());
JDialog videoPopup = new JDialog(owner);
videoPopup.setUndecorated(true);
videoPopup.setType(Window.Type.NORMAL);
videoPopup.setModalityType( Dialog.ModalityType.MODELESS);
videoPopup.setContentPane(contentPane);
contentPane.setOpaque(false);
contentPane.add(videoCanvas, BorderLayout.CENTER);
videoPopup.setBackground(new Color(0,0,0,0)); // This line destroys the video playback function

我想创建一个透明背景的弹出窗口,其中包含我的视频面板和其他内容,为什么将背景设置为透明时视频播放会中断?

1 个答案:

答案 0 :(得分:0)

在我的其中一个用于获取透明窗口的软件中,我使用

module.exports = (criteria, sortProperty, offset = 0, limit = 20) => {
  // write a query that will follow sort, offset, limit options only
  // do not worry about criteria yet
  Artist.find()
    .sort({ [sortProperty]: 1 })
    .skip(offset)
    .limit(limit);
};

请注意,我框架(内容窗格)上的背景是Color.BLACK 也许对您的对话框也可以。