利用video PreviewWidget在Ubuntu Scope中播放video
2015-06-23 14:07
357 查看
在先前的例程中,我们探讨了如何利用audio PreviewWidget在Scope中播放音乐。在这篇文章中,我们将介绍如何使用video PreviewWidget来播放一个video。
我们首先来下载我在上一篇文章中的例程:
https://github.com/liu-xiao-guo/scopetemplates_audio
为了加入video PreviewWidget,我在我们的例程中加入了如下的句子:
在这里,我们加入了video PreviewWidget中必须的两项“source"及“screenshot”。在实践中,我发现如果没有定义“screenshot”,该视频将不会被正确显示和播放。这一项的设定非常重要。在这里我们利用了一个我们本地的图片来显示该视频的一个截图(尽管不太精确)。
运行我们的Scope,我们可以看到如下的图片:
![](http://img.blog.csdn.net/20150623140247140?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvVWJ1bnR1VG91Y2g=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20150623140309980?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvVWJ1bnR1VG91Y2g=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20150623140328102?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvVWJ1bnR1VG91Y2g=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
当我们点击播放按钮时,它会自动调用浏览器来播放我们的视频。
整个项目的源码在:https://github.com/liu-xiao-guo/scopetemplates_video
我们首先来下载我在上一篇文章中的例程:
https://github.com/liu-xiao-guo/scopetemplates_audio
为了加入video PreviewWidget,我在我们的例程中加入了如下的句子:
query.cpp
r["videoSource"] = "http://techslides.com/demos/sample-videos/small.mp4"; r["screenshot"] = icons_[2].toStdString();
在这里,我们加入了video PreviewWidget中必须的两项“source"及“screenshot”。在实践中,我发现如果没有定义“screenshot”,该视频将不会被正确显示和播放。这一项的设定非常重要。在这里我们利用了一个我们本地的图片来显示该视频的一个截图(尽管不太精确)。
preview.cpp
在Preview中,我们修改了我们的代码如下:Result result = PreviewQueryBase::result(); PreviewWidget listen("tracks", "audio"); { VariantBuilder builder; builder.add_tuple({ {"title", Variant("This is the song title")}, {"source", Variant(result["musicSource"].get_string().c_str())} }); listen.add_attribute_value("tracks", builder.end()); } PreviewWidget video("videos", "video"); video.add_attribute_value("source", Variant(result["videoSource"].get_string().c_str())); video.add_attribute_value("screenshot", Variant(result["screenshot"].get_string().c_str())); PreviewWidgetList widgets({ image, header, description }); if ( result["musicSource"].get_string().length() != 0 ) { widgets.emplace_back(listen); } if( result["videoSource"].get_string().length() != 0 ) { widgets.emplace_back(video); } reply->push( widgets );
运行我们的Scope,我们可以看到如下的图片:
当我们点击播放按钮时,它会自动调用浏览器来播放我们的视频。
整个项目的源码在:https://github.com/liu-xiao-guo/scopetemplates_video
相关文章推荐
- Linux ALSA声卡驱动之八:ASoC架构中的Platform
- Linux ALSA声卡驱动之七:ASoC架构中的Codec
- 一行代码给网站添加功能
- Linux ALSA声卡驱动之六:ASoC架构中的Machine
- 在zabbix中添加监控主机及Items
- centOS安装telnet服务和xinetd服务和iptables和linux运行级别
- Linux ALSA声卡驱动之五:移动设备中的ALSA(ASoC)
- linux grep命令使用的一些心得
- Linux ALSA声卡驱动之四:Control设备的创建
- Linux ALSA声卡驱动之三:PCM设备的创建
- Linux ALSA声卡驱动之二:声卡的创建
- linux 中查看cpu的信息
- Linux ALSA声卡驱动之一:ALSA架构简介
- Linux系统编程——文件描述符的复制:dup()和dup2()
- 中小型网站架构分析及优化
- linux ubuntu/centos git 客户端编译安装升级
- 学习libopus(1) Encoder编码器
- vmware安装centos以及实现win7和centos自由拖放文件
- 让Apache Shiro保护你的应用
- Tomcat server.xml参数详解