基于libmpv二次开发 使用函数整理

setlocale(LC_NUMERIC, "C");//必需要有,不然编译不过

mpv_handle *mpv =  mpv_create();//创建实例

    WId wid=ui->video->winId();
    mpv_set_option(mpv,"wid",MPV_FORMAT_INT64,&wid);//设置播放器在哪个控件上显示

    // Enable default bindings, because we're lazy. Normally, a player using
    // mpv as backend would implement its own key bindings.
    mpv_set_option_string(mpv, "input-default-bindings", "no");//设置默认输入键绑定

//    // Enable keyboard input on the X11 window. For the messy details, see
//    // --input-vo-keyboard on the manpage.
    mpv_set_option_string(mpv, "input-vo-keyboard", "no");//设置默认键盘输入键绑定
    mpv_set_option_string(mpv, "loop", "yes");//设置播放时循环

    if (mpv_initialize(mpv) < 0)//初始化mpv
        throw std::runtime_error("mpv failed to initialize");


        const char *args[] = {"loadfile", filename.toUtf8().data(), NULL};
        mpv_command_async(mpv, 0, args);//播放视频文件

//视频跳转到100s处    

double f = 100.0;
    QString tmp = QString("+%1").arg(f);
//    const char *args[] = {"seek", tmp.toUtf8().constData(), "absolute", NULL};
//    const char *args[] = {"seek", tmp.toUtf8().constData(),  NULL};
    //    mpv_command_async(mpv, MPV_REPLY_COMMAND, args);//no work
    
    mpv_set_property_async(mpv, MPV_REPLY_COMMAND, "time-pos", MPV_FORMAT_DOUBLE, &f);//work

我看别的开源播放器使用上面的跳转是可以的,我自己写的例子就不行,而使用第二种time-pos方式却可以,搞不懂。且不能在视频播放时就立马设置,要等一会设置才能生效。

设置暂停

    int f = 1;
    paused = !paused;
    if(!paused)
    {
        f = 0;
    }
    mpv_set_property_async(mpv, 0, "pause", MPV_FORMAT_FLAG, &f);
设置静音

    int f = 1;
    mpv_set_property_async(mpv, MPV_REPLY_PROPERTY, "mute", MPV_FORMAT_FLAG, &f);
取消静音

    int f = 0;
    mpv_set_property_async(mpv, MPV_REPLY_PROPERTY, "mute", MPV_FORMAT_FLAG, &f);
设置音量

    double f = value;
    mpv_set_property_async(mpv, MPV_REPLY_PROPERTY, "volume", MPV_FORMAT_DOUBLE, &f);
 

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Qt libmpv设计的视频播放器(高级完整版).zip 是一个经过精心设计和完善的视频播放器应用程序的压缩文件。该播放器采用了Qt框架和libmpv库进行开发,具备许多高级功能和完整的功能集合。 首先,该播放器提供了强大的视频播放能力。它支持播放多种常见的视频文件格式,如MP4、AVI、MKV等,同时也支持网络视频流媒体的播放。用户可以通过简单的操作实现文件的加载、播放、暂停、停止以及快进、快退等控制。 其次,该播放器具备了丰富的音频和视觉效果调节功能。用户可以根据自己的需求调整视频的亮度、对比度、饱和度、色调等参数,以获得最佳的观影体验。同时,播放器还支持音频的音量调整、声道选择和音频均衡器等功能,使用户可以根据个人喜好来优化音效。 此外,该播放器还提供了一些增强功能,如字幕支持和全屏播放。用户可以加载外部字幕文件,并根据需要进行字幕的位置调整、字体大小和颜色的设置。同时,用户还可以通过简单操作将播放器切换到全屏模式,以获得更沉浸式的观影体验。 最后,该播放器具备良好的用户界面设计和交互体验。它采用了现代化的扁平化设计风格,界面简洁明了,操作简单直观。播放器还提供了便捷的播放历史记录和收藏夹功能,以方便用户管理和查找已观看的视频。 综上所述,基于Qt libmpv设计的视频播放器(高级完整版).zip 是一个功能齐全、性能稳定的视频播放器,适用于广大的视频观赏爱好者和专业用户。无论是观看本地视频还是在线视频,都能提供流畅的播放体验和丰富的功能选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值