首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++ -在没有ActiveX或MFC的情况下,自动化可能吗?

C++ -在没有ActiveX或MFC的情况下,自动化可能吗?
EN

Stack Overflow用户
提问于 2014-08-17 08:42:34
回答 1查看 887关注 0票数 0

我一直在努力实现媒体播放器自动化。几乎尝试了我所知道的每一种可能的方式,但都没有成功。下面列出的尝试不多。

  • 无论我尝试什么,都不能创建LOCAL_SERVER。对于CLSCTX_LOCAL_SERVER,我总是得到class not registered error
  • 从控制台应用程序开始,将其转换为具有此处建议的讯息泵的窗口应用程序,但仍然不能播放WMP。
  • 无论如何,我继续使用IWMPPlayer4,openPlayer()方法确实可以在该方法上工作,打开WMP并开始播放剪辑。但是任何其他的信息都不会到达WMP。例如: pMediaPlayerSettings= NULL;hr = pMediaPlayer4->get_settings(&pMediaPlayerSettings);if(FAILED(hr)) { std::cout << "ERR -无法获得WMPSettings接口指针“<< std::endl;ReleaseInterfaces((IUnknown**)&pMediaPlayer4);返回0;} std::cout <<”IWMPSettings设置.让我们更改卷“<< std::endl;int cnt = 10;而(cnt> 1) { long vol = -1.0;Sleep(2000);hr =pMediaPlayerSettings->get_ << (& vol );如果(FAILED( hr )){ std::cout << "ERR -无法更改卷”<< std::endl;}:cout <<“,当前卷是:”<< vol<< std::endl;hr=pMediaPlayerSettings->put_<<(cnt*cnt);ReleaseInterfaces((未知数*) &pMediaPlayerSettings); 这段代码改变了音量,但在正在播放的剪辑中却没有这种效果。
  • 然后我想可能是Invoke,ing会将消息发送给运行当前剪辑的WMP。也尝试过那个代码,但没有结果。

所以我想要的是--我想要的是,有可能吗?

控制媒体播放器的原始代码?任何指针、示例、代码片段都非常受欢迎。我有一个错误的感觉,我已经冲浪了整个网络世界在这个问题上。请证明我错了。

PS:我不想做ActiveX或MFC编码。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-17 15:39:35

这个问题与您的应用程序是控制台应用程序这一事实无关。信息泵不在这里。您可以使用Windows应用程序进行相同的尝试,它的行为也会相同。

这是因为在这种情况下,播放机不作为控件(作为OLE控件,在窗口中)托管,因此它只是不受支持。如果您在Windows应用程序或中托管它,您将看到它运行良好。

在此配置中,如果要控制卷,则应使用音量音频API (特别是ISimpleAudioVolume)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25347625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档