AForge.Controls
string fileName = @"C:\path\to\file.example";
videoSourcePlayer.VideoSource = new AForge.Video.AsyncVideoSource(new FileVideoSource(fileName), true);
videoSourcePlayer.Start();


视频文件同时包含音频和视频流,但是据我所知,该控件仅处理视频而不处理音频。

然后,如何与视频源播放器控件以同步方式播放音频流?

谢谢。

编辑:

Video Source Player control
具有一个名为
NewFrame
的事件,该事件可以确定精确的视频位置,这对于使音频与视频同步播放很有用。

最佳答案:

ElementHostUserControlWindowsFormsUserControlYourSolutionName ControlsWindowsFormsElementHostUserControl
    <MediaElement Name="VideoMediaElement" 
                  Source="Media/Wildlife.wmv" 
                  LoadedBehavior="Manual"/>


请记住,在此示例中,该文件必须与您的应用程序在
Media
文件夹中并排放置。如果您错过此步骤,它将给您带来奇怪且无用的错误
0xC00D11B1


加载的行为
Manual
将使您有机会更自由地控制视频。

之后,您可以在
UserControl
中执行所需的任何操作,例如创建
Play
Pause


    internal void Play()
    {
        this.VideoMediaElement.Play();
    }


并在
WindowsForms
中访问它们,请执行以下操作:

    private void WindowsFormsButton_Click(object sender, EventArgs e)
    {
        var videoControl = this.MyElementHost.Child as VideoUserControl;

        videoControl.Pause();
    }


希望这可以帮助。 WPF MediaElement比其他库更容易获取。