我正在尝试在五个窗口中播放相同的视频:
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,但不适用于两个或五个。如果我创建多个 Mediaobjects,我的 cpu 使用率会上升到 70-90%。同样的任务在浏览器的 FLash 中得到了解决。但我需要 C++ Qt 的解决方案。我没有任何其他想法。video.flv 为 144x144,持续时间约为 7-8 秒。