我的媒体播放器——多媒体编程

第二个题目是我的播放器,可以播放音频和视频。其实略懂计算机多媒体技术的人都清楚,音频和视频的差异具体是体现在文件格式上的。不同的音频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多媒体编程,以便于您获取更多的相关知识。

时间: 2024-11-01 22:37:15

我的媒体播放器——多媒体编程的相关文章

win8媒体播放器兼容性测试

Win8所带来的全新体验模式,让成千上万的用深刻地感觉到了Windows升级变身之后的魅力所在,同时Win8所传承的Windows传统特征,包括Windows软件.主题.开始菜单等等.那么落实到Windows传统平台上犹如瀚海的软件,在全新的Win8上兼容性如何?ZOL软件频道将推出针对Windows 8软件兼容性系列测试文章,希望通过逐个对软件分类兼容性的测试,区分出还有哪些软件存在着不兼容的现象. 待测试软件详情 软件类别 软件名称 媒体播放类 TVAnts电视蚂蚁 沸点网络电视 Mplay

利用Visual C#开发一个媒体播放器

visual|媒体 摘要:了解如何在 Microsoft Visual C# .NET 中使用 DirectShow 控件,如何开发一个媒体播放器.按照本文介绍的操作步骤,您可以创建一个简单 Visual C# 应用程序,用来播放数字音频和视频. 简介 Microsoft Visual C# 是世界上最流行的编程语言,利用 Visual C# 的最新版本 Visual C# .NET,您能够快速.有效地开发基于 Windows 窗体的应用程序,还可以为嵌入了 Microsoft Windows

用Java构造自己的媒体播放器

一.概述 首先我们来看看构造这个媒体播放器要达到什么样的目标,确定了目标也就确定了代码量和程序的复杂程度.本文的媒体播放器要达到如下目标: 媒体播放器是一个菜单驱动的简单AWT应用. 媒体播放器包含一个"文件"菜单,文件菜单包含三个菜单项: "打开",用来打开媒体文件. "循环",是播放一次(默认),还是重复播放. "退出",退出程序. 媒体播放器可以在多种平台上运行. 媒体播放器的核心功能通过JMF(Java Media F

Banshee v1.9.2发布 跨平台开放源代码媒体播放器

Banshee是一个跨平台的开放源代码媒体播放器.Banshee建基于Mono与Gtk#之上,使用GStreamer多媒体平台进行编码,并可对多种音乐格式进行解码,包括了Ogg Vorbis.MP3与FLAC.Banshee可以播放.汇入与烧录音频光碟以及与数款便携媒体播放器同步音乐,包括苹果公司的http://www.aliyun.com/zixun/aggregation/11683.html">iPod与Creative Zen播放器.储存在iPod上的音乐可直接播放而不需经过同步,

Android媒体播放器MediaPlayer架构介绍教程

本文主要介绍的是Android中很重要也最为复杂的媒体播放器(MediaPlayer)部分的架构.对于Android这样一个完整又相对复杂的系统,一个MediaPlayer功能的实现不在其具体的功能,而是具体功能如何适应Android系统Android MediaPlayer的主要具体实现在OpenCore的Player中,这部分不是本文的关注点.本文关注的是MediaPlayer系统的架构,其他的一些Android的应用程序也使用类似的架构. 第一部分 MediaPlayer概述 Androi

Android开发实现的简单媒体播放器功能示例

本文实例讲述了Android开发实现的简单媒体播放器功能.分享给大家供大家参考,具体如下: 一.概述: 因为播放视频需要很大的内存,所以必须使用surfaceview , surfaceview 里实现了双缓冲的功能, 二.全部代码: /** * @描述 使用surfaceview 创建视频 * @项目名称 App_Basic * @包名 com.example.basic.media * @类名 MediaPlayerActivity * @author chenlin * @date 201

推荐一些符合web标准的媒体播放器代码

web|web标准|媒体 再见了Embed,一些媒体播放器的符合web标准的代码 由于Embed标签是Netscape的私有财产,故一直未被W3C认可,对于各种媒体文件使用Embed标签是非标准的,如何改变?Elizabeth Castro的 Bye Bye Embed 一文对于各种媒体播放器给出了很好的符合web标准的代码. 在线媒体播放--Google Video and YouTube <object type="application/x-shockwave-flash"

web标准媒体播放器代码

播放器|媒体|web标准 再见了Embed,一些媒体播放器的符合web标准的代码 由于Embed标签是Netscape的私有财产,故一直未被W3C认可,对于各种媒体文件使用Embed标签是非标准的,如何改变?Elizabeth Castro的 Bye Bye Embed 一文对于各种媒体播放器给出了很好的符合web标准的代码. 在线媒体播放--Google Video and YouTube <object type="application/x-shockwave-flash"

符合web标准的媒体播放器代码

web|web标准|媒体 再见了Embed,一些媒体播放器的符合web标准的代码 由于Embed标签是Netscape的私有财产,故一直未被W3C认可,对于各种媒体文件使用Embed标签是非标准的,如何改变?Elizabeth Castro的 Bye Bye Embed 一文对于各种媒体播放器给出了很好的符合web标准的代码. 在线媒体播放--Google Video and YouTube <object type="application/x-shockwave-flash"