Как использовать движок WMP без Window - PullRequest
0 голосов
/ 29 января 2010

Я пишу простое приложение для воспроизведения аудио, чтобы сэкономить плату кодека, поэтому мы используем WMP ActiveX для воспроизведения всех музыкальных файлов, но для этого нужно создать окно для ActiveX, а поток создания ActiveX должен иметь Цикл сообщений. Я хотел бы знать, есть ли способ для WMP без ActiveX и Window? Заранее спасибо.

1 Ответ

0 голосов
/ 29 января 2010

Да, вам не нужно использовать элемент управления ActiveX. Просто используйте Project + Добавить ссылку, вкладку Обзор, выберите c: \ windows \ system32 \ wmp.dll

Но вам действительно нужен поток, который инициализируется с помощью [STAThread] или Thread.SetApartmentState () и цикл обработки сообщений (Application.Run). Требуется для COM-серверов (например, wmp.dll), для которых требуется однопотоковая квартира. COM использует цикл сообщений для маршалинга вызовов и генерации событий. Без цикла сервер заблокируется.

...