异地过年,我要用它看春晚!- Qt趣味开发之基于QtAV的电视播放器

今年过年因为疫情的关系,在工作地点过年。家里穷的连个电视都没有,春晚都看不了,怎么办??!!

QtAV是一个开源的音视频播放器,支持播放本地文件和网络流媒体。并集成了多种视频渲染方式,使用它的简单的API可以轻松的实现做一个网络电视播放器(我这里在网上找的RTMP的地址)。

更多关于QtAV的介绍,可以参考QtAV的github主页:
https://github.com/wang-bin/QtAV


下面是我基于QtAV做的简易版本的电视播放器:

QtAV播放RTMP的代码也很简单:

using namespace QtAV;
QtAV::Widgets::registerRenderers();

// 创建播放器
AVPlayer* pPlayer = new AVPlayer(this);
// 创建渲染窗口(OpenGL渲染)
OpenGLWidgetRenderer* render = new OpenGLWidgetRenderer;
// 为播放器设置渲染窗口
pPlayer->setRenderer(render);
// 播放视频(可以是网络视频流,也可以是视频文件)
pPlayer->play(url);

AVPlayer 中有很多播放控制接口,如 play()pause()stop() 等等。 音量控制,可以通过接口 audio() 获取 AudioOutput 类,通过该类设置音量。

void QtAVPlayerWidget::setVolume(qreal value)
{
    m_volume = value;
    AudioOutput* pAudioOutput = m_pAVPlayer->audio();

    if (pAudioOutput)
        pAudioOutput->setVolume(value);
}

软件下载:
https://download.csdn.net/download/douzhq/15178249

代码下载(VS2019 Qt5.15.2 x64)
https://download.csdn.net/download/douzhq/15178311

不会飞的纸飞机
扫一扫二维码,了解我的更多动态。

下一篇文章:C++中的虚表