NHZ Ответов: 2

Неоднозначная ссылка в wmplib (медиаплеере) на языке Си #


Привет,

Я перевожу а VB.net приложение к C#.
В C# я уже получаю ошибку в IDE при вводе следующей строки:

if (mediaPlayer.Error.errorCount != 0)


Сообщение об ошибке:
Неоднозначная ссылка:
"WMPLib._WMPOCXEvents_EventHandler Error (in interface_WMPOCXEvents_Event)"
-WMPLib.Ошибка IWMPError (ininterface IWMPPlayer4)

Программа VB работает, и даже приложение C # работает, за исключением одной строки.

Я использую VS 2010, и оба приложения работают с .NetFramework 3.0

спасибо за помощь

Что я уже пробовал:

- Я проверил ссылки на wmp.dll и включил их снова
- Все настройки ссылки WMPLib с той, что была зарегистрирована VB.Net (все то же самое)
- Я только что попробовал его в новом тестовом проекте со следующими строками - безуспешно:

var sVideo = "C:\\Temp\\Test.mpeg";
var mediaPlayer = new WMPLib.WindowsMediaPlayer {URL = sVideo};
mediaPlayer.controls.play ();

if (mediaPlayer.Error.errorCount! = 0)
{
}

2 Ответов

Рейтинг:
12

NHZ

Привет Мацей Лос,
спасибо за вашу помощь.

Пост, о котором вы упомянули, был не тот. Но она наставила меня на правильный путь. :-)

Ошибка в моем коде заключалась в том, что я использовал namesspace MediaPlayer вместо MediaplayerClass при инициализации переменной mediaplayer.

Таким образом, линия является:

var mediaPlayer = new WMPLib.WindowsMediaPlayerClass () {URL = sVideo};

вместо

var mediaPlayer = new WMPLib.WindowsMediaPlayer {URL = sVideo};