C#,没有视频,仅限音频,使用多种形式的VLC,黑屏?

时间:2017-03-21 22:24:38

标签: c# wpf winforms activex vlc

有人可以告诉我乳清我的黑屏没有视频,只有声音吗?

private void screen1btnPlay_Click(object sender, EventArgs e)
    {
        ScreenOne playScreen1 = new ScreenOne();
        playScreen1.PlayScreenOne();
    }

......而另一种形式是这样的:

public partial class ScreenOne : Form
{
    public ScreenOne()
    {
        InitializeComponent();
    }


    public void PlayScreenOne()
    {
        axVLCPlugin21.playlist.add("file:///" + @"Filepath", null);
        axVLCPlugin21.playlist.play();
    }




}

声音效果很好,但没有视频。 VLC的所有属性都保留为默认值,在多个表单中使用此插件时是否需要更改某些内容?谁知道什么是错的?

更新::我在WPF中重建了程序,我遇到了同样的问题。当我在第二个表单上有一个按钮(与播放器相同的形式)时,只要我从主表单中调用它,它就可以正常工作。啊!

2 个答案:

答案 0 :(得分:0)

我不知道,但我可以给出一些解决方案建议,

  1. 确保VLC程序安装为32位。我不知道,我已经解决了这个问题。

  2. 我认为您的问题很可能是基于“C:\ Program Files(x86)\ VideoLAN \ VLC \ plugins”检查您的插件。也许你的audio_filter,audio_mixer,audio_output插件丢失了。

  3. 您可以删除Vlc,然后下载并安装最后一个VLC 32位。

    我认为这将解决您的问题。别忘了AxAXVLC与vlc插件一起使用。

答案 1 :(得分:0)

我自己想出了自己的问题!

当我创建此实例时,

ScreenOne playScreen1 = new ScreenOne();

我实际上正在创建一个我想要做的冗余实例,我不确定这是否是正确的方式,但我基本上已经有了第二种形式的实例,并且制作另一个名称不同的表单实例。

我已经在我的代码中打开了第二个表单

Screen2 Screen2 = new Screen2(); 
private void openScreen2Button_Click(object sender, EventArgs e)
    {
        Screen2.Show();
    }

然后后来这样做是错误的,当我还应该使用Screen2时,我正在添加playscreen1。

Screen2 playScreen1 = new Screen2();
playScreen1.PlayScreenOne();

因此,当我想使用该方法从第一个窗体播放第二个窗体上的媒体播放器时,我只需要使用我创建的Screen2的相同实例来打开窗体而不是创建一个我想用什么方法的新实例。

IDK,如果我的解释有意义,或者可能是大多数人的基础知识(我是一个菜鸟),但如果有人遇到这个问题,请给我发消息,我会尽力帮忙。

O7