一、前言
在qt5中的多媒体框架明显比qt4丰富了很多,使用也极其友好,提供的api接口非常简单明了,不需要像qt4中那样还需要绑定和创建路径之类的。同样也还是依赖本地解码器,qt6中的多媒体框架据说重写了,性能暴增很多,后端还支持多种解码方式,比如可以选用ffmpeg作为后端解码,这样的话就统一起来了,而且完全的跨平台,性能上主要体现在cpu的占用极低,但是也有缺点,那就是目前为止的版本比如Qt6.5及以下,还不支持视频流的播放,具体原因未知,不知道后期是否会加入支持还是架构原因不支持。
播放视频基本流程:
- 实例化视频播放控件 new QMediaPlayer
- 实例化视频显示控件 new QVideoWidget
- 设置视频输出对象 mediaPlayer->setVideoOutput(videoWidget)
- Qt6需要单独指定音频输出 new QAudioOutput/mediaPlayer->setAudioOutput(audioOutput)
- 设置播放地址 mediaPlayer->setMedia/mediaPlayer->setSource
- 开始/暂停/停止 mediaPlayer->play()/mediaPlayer->pause()/mediaPlayer->stop()
二、效果图
三、体验地址
- 国内站点: