Это мой код для воспроизведения видеофайла:
Код: Выделить всё
var libVLCOptions = new string[]
{
"--no-osd",
"--no-spu",
"--avcodec-hw=any", // Enable hardware acceleration
"--avcodec-hw=dxva2" // Use DirectX Video Acceleration (DXVA2) on Windows
};
var _libVLC = new LibVLC(libVLCOptions);
var _eventMediaPlayer = new MediaPlayer(_libVLC);
string[] mediaOptions = {
$":smb-user={user}",
$":smb-pwd={password}",
":network-caching=3000",
":sout-keep"
};
// Create a new media instance
var media = new Media(_libVLC, new Uri(sambaPath), mediaOptions);
// Set the media to the media player
_eventMediaPlayer.Media = media;
var videoView = new VideoView { MediaPlayer = _eventMediaPlayer };
videoView.Dock = DockStyle.Fill;
EventsVideoPanel.Controls.Add(videoView);
// Play the media
_eventMediaPlayer.Play();
У меня также есть две кнопки: одна для возобновления воспроизведения видео, а другая для пересылки видео по одному кадру:
Код: Выделить всё
private void ResumeButton_Click(object? sender, EventArgs e)
{
_eventMediaPlayer?.Play();
}
private void ForwardButton_Click(object? sender, EventArgs e)
{
_eventMediaPlayer?.NextFrame();
}
Поэтому я нажимаю ForwardButton например. 5 раз. Паузы видео и 5 последовательных кадров отображаются нормально. Но когда я нажимаю ResumeButton сразу после этого, многие кадры пропускаются и воспроизведение видео происходит неравномерно.
Любая помощь в решении этой проблемы будет очень полезна. оценил!
Подробнее здесь: https://stackoverflow.com/questions/791 ... mes-is-not
Мобильная версия