vlc的应用之三动态调用vlc-094的libvlcdll.doc

vlc的应用之三动态调用vlc-094的libvlcdll.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
vlc的应用之三动态调用vlc-094的libvlcdll

vlc的应用之三:动态调用vlc-0.9.4的libvlc.dll vlc-0.9.4提供的libvlc.dll是可以动态调用的,Jeremiah这一篇博客就介绍下如何用C#和WinForm框架调用libvlc.dll作个简易播放器。 1. vs2005新建工程,将vlc-0.9.4的libvlc.dll,libvlccore.dll,plugins目录全部拷贝到工程目录下面\bin\Debug中。 2. 创建异常结构体 using System; using System.Collections.Generic; using System.Text; namespace MyOwnPlayer { ????????//异常结构体 ????????public struct ExceptionStruct ????????{ ????????????????private int raised; ????????????????private int code; ????????????????private string message; ????????} ????????class MediaException ????????{ ????????} } 3. CoreHandle和Core类 using System; using System.Runtime.InteropServices; namespace MyOwnPlayer { ????????class CoreHandle : SafeHandle ????????{ ????????????????//构造方法 ????????????????public CoreHandle() ????????????????????????: base(IntPtr.Zero, true) ????????????????{ ????????????????} ????????????????//重写的方法 ????????????????public override bool IsInvalid ????????????????{ ????????????????????????get { return handle == IntPtr.Zero; } ????????????????} ????????????????protected override bool ReleaseHandle() ????????????????{ ????????????????????????if (!IsInvalid) ????????????????????????{ ????????????????????????????????libvlc_release(this); ????????????????????????????????handle = IntPtr.Zero; ????????????????????????} ????????????????????????return true; ????????????????} ????????????????protected override void Dispose(bool disposing) ????????????????{ ????????????????????????ReleaseHandle(); ????????????????????????base.Dispose(disposing); ????????????????} ????????????????//Dll动态导入 ????????????????[DllImport(libvlc)] ????????????????private static extern void libvlc_release(CoreHandle coreHandle); ????????} } ? using System; using System.Runtime.InteropServices; namespace MyOwnPlayer { ????????class Core ????????{ ????????????????//coreHandle字段和属性 ????????????????private CoreHandle coreHandle; ????????????????public CoreHandle CoreHandle ????????????????{ ?????????

文档评论(0)

2017ll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档