第二个题目是我的播放器,可以播放音频和视频。其实略懂计算机多媒体技术的人都清楚,音频和视频的差异具体是体现在文件格式上的。不同的音频mp3,midi,wav等其实是不同的编码或者格式,同理不同的视频avi,rm(rmvb),mov等其实也是不同的编码格式,这些格式中,大多数都是不公开源代码的,但是公开标准或者API接口。但编程调用依然很繁琐,我们也没有精力和能力去研究这些。
.Net本身不带多媒体库,但是具有与COM交互的强大能力。恰好,微软DirectShow技术能满足上述要求,而且可以跟.NET达到完美的结合。
DirectShow交互程序集是集成在DirectX中的,多数计算机都会有DirectX,微软也提供下载。废话少说,开始做吧。
第一,在项目中引用Interop.QuartzTypeLib.dll。这是DirectX的COM交互程序集,其实是个托管调用。其中的类库和方法介绍最好还是看DirectX的SDK。这里不班门弄斧了。
第二,播放打开的文件
public void RenderMedia(string mediaFileName) { clearUp(); try { objMedia = new FilgraphManager(); objMedia.RenderFile(mediaFileName); volMedia = objMedia as IBasicAudio; posMedia = objMedia as IMediaPosition; ctlMedia = objMedia as IMediaControl; eexMedia = objMedia as IMediaEventEx; eexMedia.SetNotifyWindow((int)this.Handle, WM_GRAPHNOTIFY, 0); mediaStatus = 1; mediaDuration = posMedia.Duration; volMedia.Volume = mediaVolum; Play(); } catch { MessageBox.Show("加载文件失败!"); clearUp(); } }
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索微软
, directx
, 音频
, directshow
, 多媒体
, 格式
, #renderfile
, 多媒体编程
不同
windows多媒体编程、多媒体编程、python多媒体编程、多媒体编程接口、java多媒体编程,以便于您获取更多的相关知识。