stereoscopic player
简介
Stereoscopic Player播放器的官网提供了VBS的DEMO程序控制播放器,这样就可以打开,停止播放器。这样对于第三的程序控制播放器很方便。但是要在程序代码中获取播放器的状态就不好搞了。这样就不能使用VBS控制了。由于VB脚本是通过调用CreateObject函数来创建COM对象来操作播放器的,这样就可以直接创建COM对象,之后通过IDispatch接口的 Invoke函数来控制播放器。Invoke动态调用的函数的参数和返回类型可以从StereoPlayerInterface.cs文件中获取。下面是获取播放器状态的代码:
int GetPlaybackState()
{
int rState = -1;
CLSID clsid;// 通过 ProgID 取得组件的 CLSID
HRESULT hr = ::CLSIDFromProgID( L"StereoPlayer.Automation", &clsid );
CComPtr<IUnknown> spUnk;// 由 CLSID 启动组件,并取得 IUnknown 指针
if(SUCCEEDED(hr))
{
hr = ::CoCreateinstance(clsid, NULL, CLSCTX_ALL, IID_IUnknown, (LPVOID *)&spUnk );
if(SUCCEEDED(hr))
{
CComDispatchDriver spDisp( spUnk );
CComVariant v,vResult;
auto_ptr<VARIANT> var(new VARIANT);
var->vt = VT_INT;
var->dblVal = 0;
v.vt = VT_BYREF|VT_VARIANT; //引用类型,表示参数的返回值
v.pvarVal = var.get();
spDisp.Invoke1(L"GetPlaybackState",&v,&vResult);
rState = var->intVal;
}
}
return rState;
}
这个函数就可以实时获取播放器的状态,如果返回2表示播放器已经停止,0表示正在播放,1表示暂停。
相关阅读
一、设置选中方法 复制代码代码如下: $("input[name='名字']").get(0).checked=true; $("input[name='名字']").attr('checked',
1. 写在前面 随着网络技术的发展,带宽不断升级,高清晰视频传播也越来越广泛,如动辄数十GB的高清蓝光的视频也随处可下载。对于如此
深入浅出PID控制算法(二)————PID算法离散化和增量式
引言 上篇介绍了连续系统的PID算法,但是计算机控制是一种采样控制,他只能根据采样时刻的偏差来计算控制量,因此计算机控制系统中
原文地址(摘要了部分内容):https://blog.csdn.net/qq_22654611/article/details/52606960/ 学习过Spring框架的人一定都会听过Spring
拥塞控制和流量控制 流量控制:如果发送方把数据发送得过快,接收方可能会来不及接收,这就会造成数据的丢失。 TCP的流量控制是利用滑