本地文件回放例子

  • 简介
  • 准备工作
  • 运行结果
  • 源代码
  • 参考模块

简介

该示例程序演示了如何进行本地文件的回放,以及seek、pause等操作;LinkLib API的seek操作可以精确到毫秒级的。

建议先运行Record程序,生成一段可用的test.mp4

准备工作


  • 参照用户手册搭建开发环境、编译3531D工程、配置网络启动参数。
  • 将评估板的HDMI-OUT接显示器(支持1080P即可,程序默认输出1080P60)。
  • 上电,进入/root/demo目录
  • 运行Player程序
  • 空格+回车:暂停/播放
  • ← + 回车:后退5秒
  • → + 回车:前进5秒
  • a + 回车:定位到5.5s处

运行结果


源代码

完整的工程参见:https://gitee.com/LinkPi/3531D/tree/master/Player

//main.cpp
#include <QCoreApplication>
#include "Link.h"
#include <stdio.h>int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);Link::init();LinkObject *vo=Link::create("OutputVo");QVariantMap dataVo;dataVo["type"]="hdmi";vo->start(dataVo);LinkObject *file=Link::create("InputFile");QVariantMap dataFile;dataFile["path"]="test.mp4";file->start(dataFile);LinkObject *dec=Link::create("DecodeV");dec->start();file->linkV(dec)->linkV(vo);QObject::connect(file,&LinkObject::newEvent,[=](QString type,QVariant){if(type=="EOF"){exit(0);}});bool pause=false;while(true){int key=getchar();if(key==32)//space{pause=!pause;file->invoke("pause",pause);}else if(key==68)//left{int cur=file->invoke("getPosition").toInt();qDebug()<<cur;cur-=5000;file->invoke("seek",cur);}else if(key==67)//right{int cur=file->invoke("getPosition").toInt();cur+=5000;file->invoke("seek",cur);}else if(key==97)//a{file->invoke("seek",5500);}}return a.exec();
}

参考模块


InputFile
DecodeV
OutputVo

LinkLib例子之十五:本地文件回放,支持暂停,seek等相关推荐

  1. Python编程基础:第三十五节 文件删除Delete a File

    第三十五节 文件删除Delete a File 前言 实践 前言 我们这一节来介绍如何删除一个文件,这里需要用到函数os.remove(path)用于删除指定路径下的文件,os.rmdir(path) ...

  2. Objective-C学习笔记第十五章文件加载与保存

    第十五章文件加载与保存 Cocoa提供了Core Data,他能在后台处理所有文件内容 Cocoa提供了两个通用的文件处理类:属性列表和对象编码 一.属性列表类 在Cocoa中,有一类名为属性列表的对 ...

  3. C语言学习第十五课(文件操作)

    第十五课 1,文件的概念 文件一般指存储在外部介质(如磁盘磁带)上的集合: 2,流的概念 ·操作系统是以文件为单位对数据进行管理的,输入输出是数据传送的过程,数据如流水一般从一处流向另一处,因此将输入 ...

  4. MonoRail学习笔记十五:文件上传

    在MonoRail中文件上传很简单,使用智能绑定方式后直接用HttpPostedFile类就可以进行操作了 vm文件: 1<h1 align="center">Uplo ...

  5. golang基础教程(十五)文件操作

    golang基础教程 一.文件的基本介绍 文件的概念 文件,对我们并不陌生,文件是数据源(保存数据的地方)的一种,比如大家经常使用的 word 文档,txt 文 件,excel 文件-都是文件.文件最 ...

  6. 操作系统知识点总结(十五)文件层次结构,目录实现和文件实现

    (一)文件层次结构 现代操作系统有多种文件系统类型(如FAT32.NTFS. ext2.ext3.ext4等),因此文件系统的层次结构也不尽相同.图4-11是一种合理的层次结构. 图4-11文件系统层 ...

  7. Android系统10 RK3399 init进程启动(三十五) 属性文件介绍和生成过程

    配套系列教学视频链接: 安卓系列教程之ROM系统开发-百问100ask 说明 系统:Android10.0 设备: FireFly RK3399 (ROC-RK3399-PC-PLUS) 前言 ini ...

  8. LinkLib例子之十:Hi3531D UI,触屏界面开发

    Hi3531D UI,触屏界面开发 UI 准备工作 运行结果 源程序 UI 该示例程序在Mix程序的基础上,增加了UI界面. 程序中将一个QWidget的背景进行透明处理,并显示了一个按钮,用户可以在 ...

  9. 深入研究Clang(十五) Clang的RISCV支持1

    一.Clang/LLVM对RISCV的支持概况 目前已经有一系列的C类编译器和库开始支持RISCV,这其中包括了GCC和Clang/LLVM.从RISCV的官方网站,可以获取目前的支持状态.具体内容如 ...

  10. JAVA之旅(三十五)——完结篇,终于把JAVA写完了,真感概呐!

    JAVA之旅(三十五)--完结篇,终于把JAVA写完了,真感概呐! 这篇博文只是用来水经验的,写这个系列是因为我自己的java本身也不是特别好,所以重温了一下,但是手比较痒于是就写出了这三十多篇博客了 ...

最新文章

  1. EasyPHP-2.0b1+ Mantis-1.1.0安装及技巧
  2. 框架SpringMVC笔记系列 二 传值
  3. SQL语言学习(五)流程控制函数学习
  4. PHP-代码审计-审计第一步
  5. 03、MySQL—数据表操作
  6. Linux 内核调试器 调试指南
  7. “基因编辑婴儿”惹争议,那你知道机器学习在脱靶效应中的作用吗?
  8. java特定用户登录_求教!!!用 jsp+servlet 怎样控制指定用户名登录页面啊!
  9. ret2dir:Rethinking Kernel Isolation(翻译)
  10. 计算机二级java和c哪个难,计算机二级最好考哪个 考试难度怎么样
  11. 使用qBittorrent下载bt种子文件
  12. Hbase数据库设计
  13. ExtJS初学——renderTo/applyTo区别
  14. 腾讯云弹性MapReduce
  15. 计算机在机械工程中的应用英语作文,关于机械工程英语作文
  16. JS禁止右键、CTRL+C、查看源文件
  17. 网站投票系统制作与流程
  18. xcode9 IphoneX 调试
  19. 微信小程序聊天功能 WebSocket 实现发送文字,图片,语音以及WebSocket 常见问题解决方案
  20. Redmi K30 Pro 标准版更换相机后魔改为变焦版过程

热门文章

  1. windows11百度网盘下载,win11iso镜像百度云下载
  2. 人脸识别中的损失函数ArcFace及其实现过程代码(pytorch)--理解softmax损失函数及Arcface
  3. Flutter:视频全屏切换
  4. 远程升级单片机程序设计思路
  5. 电芯容量在前期循环中容量增加_关于锂离子电池使用性能的那些事---容量“跳水”...
  6. 八数码问题c语言,启发式搜索算法解决八数码问题(C语言)
  7. python合并多个excel工作簿_python多个excel文件合并成一个sheet
  8. 基于C++实现的一种通用Base编解码器(Hex(Base16)/Base32/Base64)
  9. matlab中划分训练集和测试集
  10. 博士毕业要发多少篇文章? 72 所高校大比较,发文最多的是……