如何查看 VLC.MediaElement seek 是否完成?

How to check has VLC.MediaElement seek completed?

我没有在 VLC.MediaElement 中找到任何类似 SeekCompleted 的事件处理程序。我使用以下脏代码检查搜索是否已完成。有没有更好的方法来做到这一点?

//SET SEEK POSITION
VLCMediaPlayerElement.Position = Position;

//WAIT UNTIL SEEK HAS BEEN COMPLETED
while (VLCMediaPlayerElement.Position == Position)
    {
        await Task.Delay(1);
    } 

尝试来自 https://code.videolan.org/videolan/vlc-winrt/blob/master/modules/libvlcppcx/EventManagerCX.hppBuffering and/or SeekableChanged 事件,如果您可以访问这些事件。

我得到一个很好的解决方案。可以使用 RegisterPropertyChangedCallback 创建处理程序。喜欢以下内容:

var Token = vlcMediaElement.RegisterPropertyChangedCallback(VLC.MediaElement.PositionProperty, PositionHasChanged_void);

void PositionHasChanged_void()中我可以检查位置是否正确。如果是这样,我可以像这样注销处理程序:

vlcMediaElement.UnregisterPropertyChangedCallback(VLC.MediaElement.PositionProperty,Token);