Когда вы вызываете Open
, медиа открывается , но в зависимости от размера медиа это может занять определенное время. Незамедлительный доступ к носителю или ожидание в течение определенного времени приведет к ошибочному поведению. Вместо этого вам следует подписаться на событие MediaOpened
перед открытием носителя.
_mediaPlayer.MediaOpened += OnMediaOpened;
Когда запускается событие MediaOpened
и OnMediaOpended
называется, медиа загружено и готово к взаимодействию. В обработчике событий вы должны go переместиться в позицию и отобразить растровое изображение.
private void OnMediaOpened(object sender, EventArgs e)
{
// ... your drawing code.
}
Имейте в виду, что загрузка мультимедиа также может завершиться ошибкой. Чтобы справиться с этим случаем, вы можете подписаться на событие MediaFailed
, иначе растровое изображение не будет создано, и вы можете не знать почему.