Qt播放器学习

Qt播放器学习Phonon库安装:进入源代码的phonon目录,如”../qt-everywhere-opensource-src-4.6.0/src/phonon”,实际代码并不在里面,从phonon.pro文件可知源代码在“/src/3rdparty/phonon/phonon”,但并不影响编译。在终端输入“make;makeinstall”即可,如果安装时出错,也可手动将lib、includ

大家好,又见面了,我是你们的朋友全栈君。

Phonon库安装 :

进入源代码的phonon目录,如”../qt-everywhere-opensource-src-4.6.0/src/phonon”,实际代码并不在里面,从phonon.pro文件可知源代码在“/src/3rdparty/phonon/phonon”,但并不影响编译。在终端输入 “make;make install”即可,如果安装时出错,也可手动将lib、include下相关文件拷贝到安装目录。

后端插件安装 :

(1)下载phonon-mplayer。

        地址: http://websvn.kde.org/trunk/playground/multimedia/phonon-backends/mplayer/

        使用svn下载: svn co svn://anonsvn.kde.org/home/kde/trunk/playground/multimedia/phonon-backends/mplayer

(2)返回phonon-mplayer目录,编译(qmake;make)生成phonon_backend/libphonon_mplayer.so动态链接库。

(3)将libphonon_mplayer.so拷贝到$QTDIR/plugins/phonon_backend/

QT中使用phonon播放语音文件

第一步:
你需要将你的qt安装目录下的phonon_backend整个目录拷贝到工程文件夹,我的在
F:\developingtools\Qt\Qt_install\Simulator\Qt\mingw\plugins\phonon_backend
第二步:
在qt的安装bin目录下找到phonon4.dll这个链接库,放在工程目录下,我的在
F:\developingtools\Qt\Qt_install\Simulator\Qt\mingw\bin下
第三步:
在.cpp中加头文件#include 
<MediaObject>
第四步:
Phonon::MediaObject * music =Phonon::createPlayer(Phonon::MusicCategory,Phonon::MediaSource(“./mySound/3.wav”));

music->play();

注意,用phonon的时候最好是wav格式的音乐。

    
    
    

如果一开始编译出现错误,phonon: No such file or directory

错误:phonon: No such file or directory

1)sudo  apt-get install libgstreamer0.10-0 libgstreamer0.10-dev libgstreamer-plugins-base0.10-0 libgstreamer-plugins-base0.10-dev

2)sudo apt-get install libphonon-dev libphonon4 phonon-backend-gstreamer

3)sudo dpkg -L libphonon-dev



   
   
   
 

QT中使用mplayer播放语音文件

第一步:
肯定是在你的机器中安装mplayer,我的调试机器是windows,那么我下载windows版本的mplayer,放在工程的同级目录下。
第二步:
在头文件中加入QProcess头文件,在私有成员变量处 QProcess  *  music_1 ;
第三步:
在.cpp文件的构造函数或者初始化函数中new一个对象出来,例如: music1  =  new  QProcess ;
第四步:
在需要调用的地方:
QString  music  =  "./mySound/2.mp3" ;  //歌曲位置
const QString mplayerPath("./mplayer/mplayer/mplayer.exe"); //播放器位置
QStringList args;
args << "-slave";
args << "-quiet";
args << music;

music_1->start(mplayerPath,args);

到此为止,你就可以用mplayer播放语音了。

      
      
      

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/132907.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Maven项目缺少Maven Dependencies解决方法总结

    Maven项目缺少Maven Dependencies解决方法总结

  • 一篇文章带你深入理解 Java 中的Class.getClassLoader[通俗易懂]

    一篇文章带你深入理解 Java 中的Class.getClassLoader[通俗易懂]文章目录一、ClassLoader的作用二、ClassLoader层次结构三、Class加载时调用类加载器的顺序一、ClassLoader的作用我们都知道java程序写好以后是以.java(文本文件)的文件存在磁盘上,然后,我们通过(bin/javac.exe)编译命令把.java文件编译成.class文件(字节码文件),并存在磁盘上。但是程序要运行,首先一定要把.class文件加载…

  • 模拟城市完美布局平面图_css四大布局

    模拟城市完美布局平面图_css四大布局我们之前已经学过一些布局模型,比如说浮动,绝对定位等等,但是这些布局方式一是不够简洁,而是使用的范围确实是太窄了。flex模型拥有比较多的属性,来设置多样的布局方式,接下来我们就详细介绍各种属性对布局的改变,最后再对属性做一个汇总先看一下flex的基本模型,如下图所示:container父容器里有三个子元素flex-item。当给父容器设置display:flex;直接子元素就有布…

    2022年10月31日
  • redis雪崩和击穿_redis缓存雪崩

    redis雪崩和击穿_redis缓存雪崩缓存雪崩缓存雪崩是指在同一时间段大量的缓存key同时失效或者Redis服务宕机,导致大量请求到达数据库,带来巨大压力。解决方案:给不同的key的TTL添加随机值利用Redis集群提高服务的可用性给缓存业务添加将降级限流策略给业务添加多级缓存缓存击穿缓存击穿问题也叫热点key问题,就是一个被高并发并且缓存重建业务较复杂的key突然失效了,无数的请求访问会瞬间给数据库带来巨大的冲击;例如一个人查询数据库重建缓存数据,在缓存数据还没有写入数据库的时候其它的人也对进行重复

  • oracle中integer最大值,integer表示的最大整数[通俗易懂]

    oracle中integer最大值,integer表示的最大整数[通俗易懂]Integer类型的变量可能存在的最大整数为?A.256BInteger类的数据范围为,最小值为-2^31,最大值为2^31-1;验证如下,创建java类TestInteger,做测试验证用,编写java代码,创建Integer对象,值为256,数据可以输出,Integeri=newInteger(256);System.out.println(i);java中int型最大值…

  • VC6下的platform SDK安装方法[通俗易懂]

    VC6下的platform SDK安装方法[通俗易懂]最近要用到winpcap控件做个网络抓包的工具,把源码下载下来之后,文件包里面有源码,驱动,例子,lib等,装上驱动之后,运行例子,提示出现打不开IPHlpApi.Lib文件的错误,百度一下,原来是没有安装platformSDKforinternet,于是下载platformSDK,在网上找了好长时间,终于找到合适的了,因为据说现在最新版本不支持VC6了,所以比较不好找,platform

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号