0

我正在写一个简单的音频播放应用程序,为了节省编解码器费用,所以我们使用WMP ActiveX播放所有音乐文件,但它需要为ActiveX创建一个窗口,并且创建ActiveX的线程应该有消息循环。我想知道是否有没有 ActiveX 和 Window 的 WMP 方法?提前致谢。

4

1 回答 1

0

是的,您不必使用 ActiveX 控件。只需使用 Project + Add Reference,Browse 选项卡,选择 c:\windows\system32\wmp.dll

但是您确实需要一个使用 [STAThread] 或 Thread.SetApartmentState() 初始化的线程和一个消息循环 (Application.Run)。具有单线程单元要求的 COM 服务器(如 wmp.dll)需要。COM 使用消息循环来编组调用并生成事件。没有循环,服务器就会死锁。

于 2010-01-29T09:00:27.763 回答