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比其他库更容易获取。