Как проверить, завершен ли поиск VLC.MediaElement? - PullRequest
0 голосов
/ 29 октября 2018

Я не нашел обработчиков событий, таких как SeekCompleted build in VLC.MediaElement. Я проверяю, завершен ли поиск, используя следующий грязный код. Есть ли лучший способ сделать это?

//SET SEEK POSITION
VLCMediaPlayerElement.Position = Position;

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

Ответы [ 2 ]

0 голосов
/ 04 ноября 2018

У меня есть одно хорошее решение. Для создания обработчика можно использовать RegisterPropertyChangedCallback. Нравится следующее:

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

В void PositionHasChanged_void() Я могу проверить правильность позиции. Если так, я могу отменить регистрацию обработчика следующим образом:

vlcMediaElement.UnregisterPropertyChangedCallback(VLC.MediaElement.PositionProperty,Token); 
0 голосов
/ 03 ноября 2018

Попробуйте Buffering и / или SeekableChanged события из https://code.videolan.org/videolan/vlc-winrt/blob/master/modules/libvlcppcx/EventManagerCX.hpp, если вы можете получить к ним доступ.

...