Код: Выделить всё
Core.Initialize();
LibVLC = new LibVLC();
mediaPlayer = new MediaPlayer(LibVLC);
Например:
Код: Выделить всё
void print(object str = null) => Console.WriteLine(str.ToString());
Код: Выделить всё
mediaPlayer.EndReached += EndReached;
Код: Выделить всё
public void EndReached(object sender, EventArgs e)
{
print($"VIDEO PATH: {videoFileName}");
Media media = new Media(new LibVLC(), videoFileName);
print($"NEW MEDIA DURATION: {media.Duration}");
}
Код: Выделить всё
VIDEO PATH: C:\Users\user\Desktop\51000001 ru.mp4
NEW MEDIA DURATION: -1
Если я создам свой собственный обработчик с потоками или чем-то еще, он будет работать
р>
Код: Выделить всё
new Thread(() => { while (true) { MediaPlayerEnded(); Thread.Sleep(10); } }).Start();
И хуже всего то, что при использовании потоков я сталкиваюсь с множеством ошибок и зачем вообще существовать интерфейс для обработчиков, если вы просто не можете использовать их так, как они нужны, поэтому я думаю, что должен быть какой-то способ сделать это правильно.
Подробнее здесь: https://stackoverflow.com/questions/793 ... ibvlcsharp