• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

流媒体学习笔记----用配置好的文件进行编码

发布: 2007-7-01 20:40 | 作者: admin | 来源: | 查看: 19次 | 进入软件测试论坛讨论

领测软件测试网

 编写编码程序可以使用已经配置好的文件进行编码,文件为“,wme”文件。

这需要调用IWMEncoder的Load()方法。其定义为:

HRESULT Load(  BSTR  bstrFileName
)  其中,BSTR是一个类似CString类的指向宽字符串的类,bstrFileName包含了编码文件的文件名,即相对路径。
HRESULTCOM中用来向用户报告各种情况的32位值。这个名称很容易让人将这种类型的值当成一个指向某个结果的句柄,
实际上并不是这样。它是一个可分为三个区域的32位值。可理解为“Heres the Result”。返值为S_OK时,表示成功。
S_OK被定义为0。失败时支持IerrorInfo接口,不同的错误有不同的错误号。

使用IWMEncoder前,需要先定义并初始化COM库,返回一个指向该接口的指针。

HRESULT hr;    IWMEncoder* pEncoder;// Initialize the COM library and retrieve a pointer// to an IWMEncoder interface.    hr = CoInitialize(NULL);    CoCreateInstance(CLSID_WMEncoder,                     NULL,                     CLSCTX_INPROC_SERVER,                     IID_IWMEncoder,                    (void**) &pEncoder);

//装载.wme文件

CComBSTR bstrFileName(L"file_name.wme");

hr = pEncoder->Load(bstrFileName);

//可以用IWMEncoder->Save()将配置文件备份保存

//准备编码

hr = pEncoder->PrepareToEncode(VARIANT_TRUE)

//启动编码

hr = pEncoder->Start();

//此时,可以用IWMEncoder->get_RunState()得到编码进程的状态。1代表正在开始,2代表正在编码,4代表正在停止,5代表已经停止。

WMENC_ENCODER_STATE enumEncoderState;
hr = pEncoder->get_RunState(&enumEncoderState);//可用一个判断编码是否结束的if语句控制编码  如果结束,退出循环。while(1){
if (enumEncoderState != WMENC_ENCODER_RUNNING)    {     break;
}}//停止编码hr = pEncoder->Stop();//释放占用资源hr = pEncoder->Release();  程序需要的头文件为:#include <windows.h>#include <atlbase.h>    // Includes CComBSTR.#include "wmencode.h"   总结:这是进行编码编程的一个最基本的程序,使用已经配置好的文件进行编码。在做的过程中,遇到了很多问题,比如:hr的含义,CComBSTR的类型,COM的初始化。尤其是在最后编码的时候,不能得到编码的内容,是因为过早地结束了程序,没有编码时间。经过老师的悉心指点和教导,最后终于完成。从中收获颇多。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网