同じビデオを5つのウィンドウで再生しようとしています。
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();
}
このコードは1つのVideoWidgetで機能しますが、2つまたは5つでは機能しません。複数のMediaobjectを作成すると、CPU使用率が最大70〜90%になります。同じタスクがブラウザ用のFLashで解決されました。しかし、C++Qtのソリューションが必要です。他にアイデアはありません。video.flvは144x144で、長さは約7〜8秒です。