首页 > 解决方案 > 如何在不打开媒体播放器的情况下使用 libvlc_video_take_snapshot 拍摄快照

问题描述

我正在开发一个媒体播放器,Qt实际上libvlc我想从视频中创建缩略图,我在互联网上进行了搜索,发现我可以使用 libvlc_video_take_snapshot功能。它将拍摄媒体的快照,但问题是它打开播放器拍摄快照,我希望它在不打开任何视频播放器的情况下拍摄快照。这是我的代码

    inst = libvlc_new (0,vlc_args);

    m = libvlc_media_new_location(inst, "file:///home/vinay/Downloads/sample.webm");
    mp = libvlc_media_player_new_from_media(m);

    libvlc_media_player_play(mp);

当我单击一个按钮时,它将拍摄快照并关闭媒体

void expPlayer::on_pushButton_4_clicked()
{
    //const char *image_path="/home/vinay/Documents/snap.png";
    //int result = libvlc_video_take_snapshot(mp, 0, image_path, 0, 0);

    libvlc_media_player_set_position(mp, VLC_THUMBNAIL_POSITION);
    const char *image_path="/home/vinay/Documents/snap.png";
    int result = libvlc_video_take_snapshot(mp, 0, image_path, 0, 0);

    libvlc_media_player_stop(mp);
}

标签: qtlibvlcvlc-qt

解决方案


推荐阅读