Проблема в LibVlcSharp: возобновление воспроизведения после многократного вызова NextFrame происходит не гладко.C#

Место общения программистов C#
Ответить
Anonymous
 Проблема в LibVlcSharp: возобновление воспроизведения после многократного вызова NextFrame происходит не гладко.

Сообщение Anonymous »

У меня есть приложение Windows Forms, основанное на .NET 8.0. Я использую LibVLCSharp 3.9.0 для отображения видеофайла, сохраненного в общей папке Samba.
Это мой код для воспроизведения видеофайла:

Код: Выделить всё

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();
}
Когда я нажимаю кнопку Вперед всего один раз, видео приостанавливается. Если я нажму кнопку ResumeButton сразу после этого, воспроизведение видео возобновится без каких-либо проблем. Но если я нажму на ResumeButton несколько раз, воспроизведение видео начнется с пропуска большого количества кадров после отображаемого в данный момент кадра.
Поэтому я нажимаю ForwardButton например. 5 раз. Паузы видео и 5 последовательных кадров отображаются нормально. Но когда я нажимаю ResumeButton сразу после этого, многие кадры пропускаются и воспроизведение видео происходит неравномерно.
Любая помощь в решении этой проблемы будет очень полезна. оценил!

Подробнее здесь: https://stackoverflow.com/questions/791 ... mes-is-not
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»