QT QMediaPlayer 播放音视频文件

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)//这个是是否为静音的信号。


音视频播放的过程中, 位置和总大小都是用毫秒表示的,可以进行单位换算。




你可能感兴趣的:(QT学习之路)