我没有在SeekCompleted
中建立任何类似VLC.MediaElement
的事件处理程序。我使用以下脏代码检查搜索是否已完成。有更好的方法吗?
//SET SEEK POSITION
VLCMediaPlayerElement.Position = Position;
//WAIT UNTIL SEEK HAS BEEN COMPLETED
while (VLCMediaPlayerElement.Position == Position)
{
await Task.Delay(1);
}
答案 0 :(得分:0)
尝试访问https://code.videolan.org/videolan/vlc-winrt/blob/master/modules/libvlcppcx/EventManagerCX.hpp中的Buffering
和/或SeekableChanged
事件。
答案 1 :(得分:0)
我有一个好的解决方案。可以使用RegisterPropertyChangedCallback
创建处理程序。如下所示:
var Token = vlcMediaElement.RegisterPropertyChangedCallback(VLC.MediaElement.PositionProperty, PositionHasChanged_void);
在void PositionHasChanged_void()
中,我可以检查位置是否正确。如果是这样,我可以这样注销处理程序:
vlcMediaElement.UnregisterPropertyChangedCallback(VLC.MediaElement.PositionProperty,Token);