我正在编写一个简单的音频播放应用程序,以节省编解码器费用,所以我们使用WMP ActiveX播放所有音乐文件,但它需要为ActiveX创建一个窗口,创建ActiveX的线程应该有消息循环。我想知道没有ActiveX和Window的WMP是否有办法?提前谢谢。
答案 0 :(得分:0)
是的,您不必使用ActiveX控件。只需使用Project + Add Reference,Browse选项卡,选择c:\ windows \ system32 \ wmp.dll
但是你真的需要一个用[STAThread]或Thread.SetApartmentState()和一个消息循环(Application.Run)初始化的线程。具有单线程单元公寓要求的COM服务器(如wmp.dll)是必需的。 COM使用消息循环来编组调用并生成事件。如果没有循环,服务器将会死锁。