如何使用 libVLC 判断视频播放是否准备就绪

How can I tell if video playback is ready after seek, with libVLC

我试图告诉用户搜索操作已经完成,可以开始播放视频了。但是我找不到办法做到这一点。

libvlc_media_player_get_time returns seek 后立即正确的时间,我的计划是看它什么时候变成当前时间,但是没有,这个不起作用。

libvlc_media_player_will_play似乎return正确,无论是否可以开始播放。

有什么想法吗?

我去看看有没有办法获取当前帧的PTS

我的可怕技巧如下。

void Video::setTime(int p_msecs)
{
   d->timeSet = p_msecs;
   libvlc_media_player_set_time(d->mediaPlayer, p_msecs);
}

bool Video::isSeekReady() const
{
    return d->timeSet != libvlc_media_player_get_time(d->mediaPlayer);
}