c#判断视频是不是能播放

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#判断视频是不是能播放相关的知识,希望对你有一定的参考价值。

一、简单的播放视频程序
1、读取视频文件
2、循环顺序读取视频中的每一帧
3、如何退出循环。
二、VideoCapture类
  Opencv中提供了专门操作视频的接口类VideoCapture,VideoCapture类可以从文件或摄像头设备中读取视频,提供常用的三种构造方法如下:
VideoCapture::VideoCapture();
VideoCapture::VideoCapture(const string &filename);
参数filename表示视频文件的路径及名称;
VideoCapture::VideoCapture(int device);
device表示打开视频操作索引号设置,如果是摄像头则设置为0。
三、VideoCapture方法
函数
功能
open
打开视频文件或视频获取装置
isOpened
判断视频文件是否正确,返回true则正确
release
关闭视频流文件
grab
抓住下一帧的视频文件或捕获设备
retrieve
解码并返回了视频帧
read
抓住,解码并返回下一个视频帧
get
返回指定视频类的相关参数信息
set
设置类信息的一个属性
read方法的输入是Mat的引用,这种方式得到的实际是VideoCapture解析得到的单帧图像的引用,当后续再读取帧时,Mat数据将会自动释放,自动更新成新的数据信息。
Mat复制构造函数和赋值操作共享数据空间,当需要同时获取多帧图像源时,可以利用Mat提供的Mat.clone()方法进行复制操作。
四、程序
参考:C#安装OpenCvSharp4的实操
1、程序C220807:从磁盘加载并在屏幕上播放视频的OpenCV程序。
using OpenCvSharp;
using OpenCvSharp.Extensions;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CvSharpDemo

class Program

static void Main(string[] args)

// 视频地址
string videoPath = @"e://opencv//1.avi";
// 打开视频文件
VideoCapture cap= VideoCapture.FromFile(videoPath);

//检查视频是否成功打开
if (!cap.IsOpened())
return;

//取得帧速率
double rate = cap.Fps;

bool stop = false;
Mat frame=new Mat();
// 根据帧速率计算帧之间的等待时间,单位为ms
int delay = ((int)(1000 / rate)) ;

//循环遍历视频中的全部帧
while (!stop)

//读取下一帧,如果有
if (!cap.Read(frame))
break;

Cv2.ImShow("播放视频", frame);
//延时等待按键按下
if (Cv2.WaitKey(delay) >= 0)
stop = true;


cap.Release();
参考技术A 华为手机相册里的视频播放不了处理方式如下:

1、利用关机重启后打开视频看是否能够播放。

2、有时手机后台打开过多,导致手机内存爆满,建议清理软件清除手机缓存,也可以删除不常用软件来增加内存。

3、可以尝试使用电脑播放,如果电脑也不能播放,说明视频已经损坏无法播放了4、使用手机上的其他播放器看是否可以播放。如果可以播放,说明是手机系统出现问题,建议恢复出厂设置。扩展资料视频无法播放的原因:视频文件损坏;设备不支持此视频文件格式;

C#制作视频播放器-player播放器组件




技术分享技术分享

楼主的地址是土豆的地址,本地地址也是可以的。
技术分享

技术分享

好了,这时候我们运行,在textbox中添加你要播放视频的地址,音乐地址也是可以的,写好地址后,点击按钮,程序自己就播放了,如图:技术分享


在大家看到,视频大小是跟播放器不对称的,这时我们可以修改视频的分辨率,

具体参考axWindowsMediaPlayer1控件属性介绍:
属性/方法名: 说明:
[基本属性]  
URL:String; 指定媒体位置,本机或网络地址
uiMode:String; 播放器界面模式,可为Full, Mini, None, Invisible
playState:integer; 播放状态,1=停止,2=暂停,3=播放,6=正在缓冲,9=正在连接,10=准备就绪
enableContextMenu:Boolean; 启用/禁用右键菜单
fullScreen:boolean; 是否全屏显示
[controls] wmp.controls //播放器基本控制
controls.play; 播放
controls.pause; 暂停
controls.stop; 停止
controls.currentPosition:double; 当前进度
controls.currentPositionString:string; 当前进度,字符串格式。如“00:23”
controls.fastForward; 快进
controls.fastReverse; 快退
controls.next; 下一曲
controls.previous; 上一曲
[settings] wmp.settings //播放器基本设置
settings.volume:integer; 音量,0-100
settings.autoStart:Boolean; 是否自动播放
settings.mute:Boolean; 是否静音
settings.playCount:integer; 播放次数
[currentMedia] wmp.currentMedia //当前媒体属性
currentMedia.duration:double; 媒体总长度
currentMedia.durationString:string; 媒体总长度,字符串格式。如“03:24”
currentMedia.getItemInfo(const string); 获取当前媒体信息"Title"=媒体标题,"Author"=艺术家,"Copyright"=版权信息,"Description"=媒体内容描述,"Duration"=持续时间(秒),"FileSize"=文件大小,"FileType"=文件类型,"sourceURL"=原始地址
currentMedia.setItemInfo(const string); 通过属性名设置媒体信息
currentMedia.name:string; 同 currentMedia.getItemInfo("Title")
[currentPlaylist] wmp.currentPlaylist //当前播放列表属性
currentPlaylist.count:integer; 当前播放列表所包含媒体数
currentPlaylist.Item[integer]; 获取或设置指定项目媒体信息,其子属性同wmp.currentMedia

AxWindowsMediaPlayer控件的属性
MediaPlayer1.Play          播放  
MediaPlayer1.Stop          停止  
MediaPlayer1.Pause          暂停  
MediaPlayer1.PlayCount        文件播放次数  
MediaPlayer1.AutoRewind       是否循环播放  
MediaPlayer1.Balance         声道  
MediaPlayer1.Volume         音量  
MediaPlayer1.Mute          静音  
MediaPlayer1.EnableContextMenu    是否允许在控件上点击鼠标右键时弹出快捷菜单  
MediaPlayer1.AnimationAtStart    是否在播放前先播放动画  
MediaPlayer1.ShowControls      是否显示控件工具栏  
MediaPlayer1.ShowAudioControls    是否显示声音控制按钮  
MediaPlayer1.ShowDisplay       是否显示数据文件的相关信息  
MediaPlayer1.ShowGotoBar       是否显示Goto栏  
MediaPlayer1.ShowPositionControls  是否显示位置调节按钮  
MediaPlayer1.ShowStatusBar      是否显示状态栏  
MediaPlayer1.ShowTracker       是否显示进度条  
MediaPlayer1.FastForward       快进  
MediaPlayer1.FastReverse       快退  
MediaPlayer1.Rate          快进/快退速率  
MediaPlayer1.AllowChangeDisplaySize 是否允许自由设置播放图象大小  
MediaPlayer1.DisplaySize       设置播放图象大小  
    1-MpDefaultSize         原始大小  
    2-MpHalfSize           原始大小的一半  
    3-MpDoubleSize          原始大小的两倍  
    4-MpFullScreen          全屏  
    5-MpOneSixteenthScreen      屏幕大小的1/16  
    6-MpOneFourthScreen       屏幕大小的1/4  
    7-MpOneHalfScreen        屏幕大小的1/2  
MediaPlayer1.ClickToPlay       是否允许单击播放窗口启动Media Player  





本文出自 “Frank” 博客,转载请与作者联系!

以上是关于c#判断视频是不是能播放的主要内容,如果未能解决你的问题,请参考以下文章

如何判断屏幕保护程序是不是暂时禁用?

HTML5video标签……肿么点击播放?肿么判断是不是播放完毕?

在尝试加载 YouTube 视频之前,如何判断它是不是可嵌入?

JS判断视频Video的播放暂停结束完成及获取长度事件监听处理

JS判断视频Video的播放暂停结束完成及获取长度事件监听处理

微信小程序——video使用总结