您的位置:首页 > 健康 > 养生 > 互联网营销师怎么报名_ecshop_网络推广怎么赚钱_芒果视频怎样下载到本地

互联网营销师怎么报名_ecshop_网络推广怎么赚钱_芒果视频怎样下载到本地

2024/12/22 13:56:44 来源:https://blog.csdn.net/orangapple/article/details/144562191  浏览:    关键词:互联网营销师怎么报名_ecshop_网络推广怎么赚钱_芒果视频怎样下载到本地
互联网营销师怎么报名_ecshop_网络推广怎么赚钱_芒果视频怎样下载到本地

1.  NuGet 添加 Vlc.DotNet.Wpf 

2.  到VLC官网 http://www.videolan.org/ 下载VLC播放器。因为本机是64位的,所以下载64位,如下所示:

下载的是 安装后,到安装的路径下,拷贝如下文件夹:

在wpf项目的exe文件夹下,本机是  bin\Debug\net8.0-windows,新建 libvlc 后,再建win-x64文件夹,将以上的文件拷贝到这个文件夹里,如下图所示:

3. 现在进入开发:

3.1 VlcControl 控件有个特别的地方是:

 private void Pause_OnClick(object sender, RoutedEventArgs e){_vlcMediaPlayer.Pause();}

即使 暂停 按钮的事件里,只有一行暂停代码,但是,点一下按钮会暂停,再点击一下会继续播放,暂停--播放--暂停--播放,反复循环。

 private void Pause_OnClick(object sender, RoutedEventArgs e){_vlcMediaPlayer.SetPause(true);}

SetPause(true),无论点击多少次,都会暂停。

3.2 VlcControl 控件,stop后,控件会显示黑色,为了不显示黑色,就得显示第一针的图像。

一个VlcControl控件,3个按钮,播放、停止和暂停。

.xaml 代码如下:

  <Grid ><Grid.RowDefinitions><RowDefinition Height="*" /><RowDefinition Height="40" /><!-- <RowDefinition Height="40" /> --></Grid.RowDefinitions><vlc:VlcControl Name="VlcControl" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" /><StackPanel  Grid.Row="1" Orientation="Horizontal"><Button Content="播放" Click="Play_OnClick"></Button><Button   Content="停止" Click="Stop_OnClick"  Width="80"></Button><Button   Content="暂停"  Click="Pause_OnClick"  Width="80"></Button></StackPanel></Grid>

.cs代码如下:

    public partial class MainWindow : Window{private VlcMediaPlayer _vlcMediaPlayer;private DirectoryInfo libDirectory;public MainWindow(){InitializeComponent();libDirectory = new DirectoryInfo(System.IO.Path.Combine(Environment.CurrentDirectory, "libvlc", "win-x64"));}private void MainWindow_OnLoaded(object sender, RoutedEventArgs e){if (_vlcMediaPlayer == null){var options = new string[]{"--file-logging", "-vvv", "--logfile=Logs.log"};this.VlcControl.SourceProvider.CreatePlayer(libDirectory, options);_vlcMediaPlayer = this.VlcControl.SourceProvider.MediaPlayer;// 加载视频文件_vlcMediaPlayer.SetMedia(new Uri(@"E:\base_pup_2024-11-08_16-50-59\MiceVideo1\MiceVideo\CHA2024-11-08 165102.avi", UriKind.RelativeOrAbsolute));// 设置到第一帧并暂停// 开始播放_vlcMediaPlayer.Play();// 设置到视频开始位置_vlcMediaPlayer.Position = 0;// 暂停,保留第一帧画面_vlcMediaPlayer.SetPause(true);}}private void PlayOrPauseButton_Checked(object sender, RoutedEventArgs e){this.Play();}private void PlayOrPauseButton_Unchecked(object sender, RoutedEventArgs e){}private void Play(){_vlcMediaPlayer.Play();}private void Stop_OnClick(object sender, RoutedEventArgs e){if (_vlcMediaPlayer == null){return;}if (_vlcMediaPlayer.State == MediaStates.Stopped){return;}if (_vlcMediaPlayer.State == MediaStates.Playing){//先暂停Task.Delay(100).ContinueWith(_ => _vlcMediaPlayer.SetPause(true));}//回到第一帧_vlcMediaPlayer.Position = 0;}private void Pause_OnClick(object sender, RoutedEventArgs e){if (_vlcMediaPlayer == null){return;}// _vlcMediaPlayer.Pause();点击按钮,会暂停--播放--暂停--播放,反复循环_vlcMediaPlayer.SetPause(true);}private void Play_OnClick(object sender, RoutedEventArgs e){Play();}}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com