QT MediaPlayer类播放音视频

目录

概述

播放音乐:

播放视频

QMediaPlayer函数用法


 

概述

QMediaPlayer 可以播放音频和视频。如果要视频在界面上显示出来,需要其他类的辅助,比如QVideoWidget、QGraphicsVideoItem 或者是自定义的类而像 GIF格式的动画类型,可以使用 QMovie 播放。界面显示通过 QVideoWidget 类或者 QGraphicsVideoItem 类。这两个类都属于 Qt MultimediaWidgets 模块

QVideoWidget 继承自 QWidget ,QVideoWidget可以作为一个普通窗口部件进行显示,也可以嵌入到其他窗口中。

将QVideoWidget指定为 QMediaPlayer 的视频输出窗口以后,就可以显示播放的视频画面了。如果不为播放器设置视频输出界面的话,播放器也可以播放视频,不过只有声音而不会显示图像。使用 QVideoWidget 可以设置视频的亮度,对比度,色相和饱和度。还可以设置全屏显示。

要使用QMediaPlayer 进行播放,需要将QVideoWidget指定为 QMediaPlayer 的视频输出窗口。然后使用 setMedia(const QMediaContent &media, QIODevice  stream = 0)槽来设置媒体源。其中,QMediaContent 提供了对媒体源的访问,它包含了媒体源的 URL 和格式信息,一般对于本地媒体只需要指定路径就可以。如果提供了一个媒体流 stream ,那么将会直接从流中读取媒体数据而不再对媒体进行解析。

 

要使用多媒体模块的内容,需要在.pro项目文件中添加如下代码:

QT += multimedia

 

 

 

 

播放音乐:

项目文件中添加:

QT += core gui multimedia

添加一个私有对象:

QMediaPlayer *player;

构造函数中添加:

player = new QMediaPlayer(this);

player->setMedia(QUrl::fromLocalFile(D:/酷狗下载/纯音乐 - 神话背景音乐琴声.mp3));

player->play();

 

 

 

 

播放视频

将QVideoWidget设置为QMediaPlayer的视屏输出,设置媒体源,然后播放。

项目文件中添加:

QT += core gui multimedia multimediawidgets

在头文件里添加类的前置声明:

class QMediaPlayer;
class QVideoWidget

添加私有对象:

QMediaPlayer * player;
QVideoWidget * videoWidget;

进入cpp文件,添加头文件包含:

#include <QMediaPlayer>
#include <QVideoWidget>

然后再构造函数中添加如下代码:

player = new QMediaPlayer(this);

videoWidget = new QVideoWidget(this);

videoWidget->resize(600,300);           //设置视频输出窗口大小

player->setVideoOutput(vodeoWidget);    //设置视频由videoWidget对象执行

player->setMedia(QUrl::fromLocalFile("../myvideo/video.wmv"));    //设置视频本地路径

player->play();                         //播放视频

 

 

 

 

QMediaPlayer函数用法

QMediaPlayer * player;

player = new QMediaPlayer(this);

player->play();        //播放

player->pause();       //暂停

player->stop();        //停止

player->position();      //可以获取当前播放位置,单位均为毫秒

player->setPosition();   //跳转到一个播放点,通过关联positionChanged()信号可以随时获得播放进度

player->duration();      //获得当前媒体的时长,单位为毫秒

player->currentMedia();  //获得当前进行播放的媒体内容,返回类型是QMediaContent

player->volume();        //获得当前的播放音量,其范围为0~100

player->setVolume();     //可以设置音量的大小,当音量发生改变时会发射volumeChanged()信号

player->setMuted();      //设置为静音

 

  • 5
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值