首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt在五个声子中播放相同的视频::VideoWidget

Qt在五个声子中播放相同的视频::VideoWidget
EN

Stack Overflow用户
提问于 2012-03-20 18:43:45
回答 1查看 1.3K关注 0票数 0

我试着在五个窗口播放相同的视频:

代码语言:javascript
复制
     Widget::Widget(QWidget *parent) :
        QWidget(parent),
        ui(new Ui::Widget)
    {
        ui->setupUi(this);
         media = new Phonon::MediaObject(this);
        media->setCurrentSource(Phonon::MediaSource("video.flv"));

        Phonon::VideoWidget* fvid=new Phonon::VideoWidget(this);
        Phonon::createPath(media,fvid);
        fvid->setGeometry(20,20,122,122);
        fvid->show();

        Phonon::VideoWidget* fvid2=new Phonon::VideoWidget(this);
        Phonon::createPath(media,fvid2);
        fvid2->setGeometry(220,220,122,122);
        fvid2->show();
    }

void Widget::on_pushButton_clicked()
{
    media->play();
}

此代码适用于一个VideoWidget,但不适用于两个或五个VideoWidget。如果我创建了几个Mediaobjects,我的cpu使用率就会上升到70-90%。在浏览器的FLash中也解决了同样的任务。但我需要C++ Qt的解决方案。我没有任何其他的想法。video.flv为144x144,持续时间约为7-8秒.

EN

回答 1

Stack Overflow用户

发布于 2012-03-20 19:00:46

我不知道声子是否支持帧抓取,但更好的方法是让只有一个声子播放器,然后将每个帧复制到一个QImage对象中。然后,您可以将QImage复制到另外4个QLabel对象,每个对象对应4个窗口。

此解决方案使用的CPU处理要少得多,因为您将只呈现一个视频。

事实是,的声子正在消亡,Qt移动性提供的QMediaPlayer/QVideoWidget非常简单,而且可以抓取帧。我建议你把你的应用转移到这项技术上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9792982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档