QT QMediaPlayer 播放音视频文件
2016-01-26 12:08
597 查看
QMediaPlayer类是QT自带的多媒体类。 实现简单的音视频播放是很简单的。
QMediaPlayer qtaudioPlayer;
qtaudioPlayer->setMedia(QUrl::fromLocalFile(filePath));
qtaudioPlayer->play();
这里的filePath如果是音频路径,就直接播放音频, 如果是视频路径就直接播放视频。
值得一提的是:
如果是服务上的音视频路径的话, 需要在前面加上一个http://头, 当然如果返回就自带http://头就不用加。
如:服务器返回一个www.test.com/test.wav,
filePath = QLatin1String(http://www.test.com/test.wav);
qtaudioPlayer->setMedia(QUrl::fromLocalFile(filePath));
这样就可以直接播放网络上的音视频文件了。
当然简单的音视频播放是很容易,在实际的播放器制作过程中,需要控制播放过程中的很多操作,QMediaPlayer 提供了很多信号,来让用户处理。
如:
mediaStatusChanged(QMediaPlayer::MediaStatus) // 这个是音视频状态改变的信号, 如:暂停, 停止, 播放,它都能直接监控
durationChanged(qint64)//这个是播放文件数据总大小的信号, 它可以获得文件时间长度。
positionChanged(qint64)// 这个是播放到什么位置的信号, 参数是以毫秒来计算的。
volumeChanged(int)// 这个是声音调节的信号,监控当前声音的大小
mutedChanged(bool)//这个是是否为静音的信号。
音视频播放的过程中, 位置和总大小都是用毫秒表示的,可以进行单位换算。
QMediaPlayer qtaudioPlayer;
qtaudioPlayer->setMedia(QUrl::fromLocalFile(filePath));
qtaudioPlayer->play();
这里的filePath如果是音频路径,就直接播放音频, 如果是视频路径就直接播放视频。
值得一提的是:
如果是服务上的音视频路径的话, 需要在前面加上一个http://头, 当然如果返回就自带http://头就不用加。
如:服务器返回一个www.test.com/test.wav,
filePath = QLatin1String(http://www.test.com/test.wav);
qtaudioPlayer->setMedia(QUrl::fromLocalFile(filePath));
这样就可以直接播放网络上的音视频文件了。
当然简单的音视频播放是很容易,在实际的播放器制作过程中,需要控制播放过程中的很多操作,QMediaPlayer 提供了很多信号,来让用户处理。
如:
mediaStatusChanged(QMediaPlayer::MediaStatus) // 这个是音视频状态改变的信号, 如:暂停, 停止, 播放,它都能直接监控
durationChanged(qint64)//这个是播放文件数据总大小的信号, 它可以获得文件时间长度。
positionChanged(qint64)// 这个是播放到什么位置的信号, 参数是以毫秒来计算的。
volumeChanged(int)// 这个是声音调节的信号,监控当前声音的大小
mutedChanged(bool)//这个是是否为静音的信号。
音视频播放的过程中, 位置和总大小都是用毫秒表示的,可以进行单位换算。
相关文章推荐
- Qt json解析
- Qt之自定义界面(QMessageBox)
- Qt之自定义界面(QMessageBox)
- QT下QThread学习(二)
- QT下的QThread学习(一)
- qt 单例模式
- QT获取系统时间,以及设置日期格式
- PyQt4入门
- 自学QT之获取系统的标题栏图标
- qt5.4.0下配置opencv及demo测试
- Qt Creator 在windows下发布程序
- Qt中findChildren返回值不对
- 浅析QML语言中的Qt.resolvedUrl
- Qt共享内存读写
- QT 通过POST方法,上传文件到服务器
- Qt 安装一个Service
- Qt 添加启动项
- Qt 获取Mac地址
- Qt 获取cmd运行结果
- Qt 扫描进程列表以及获取进程信息