我正在使用vlc-qt构建一个简单的媒体播放器。起初我将播放器连接到一个小部件,它可以工作,但是当我setVideoWidget
再次尝试使用成员函数更改显示小部件时,它似乎不起作用,那我该怎么办?这个成员函数setVideoWidget
只能调用一次吗?
我setVideoWidget
在构造函数中调用了_player->setVideoWidget(ui->video);
将视频小部件(您可以在上图中看到的黑色小部件)设置为播放媒体的默认小部件,并且它可以工作。
但是当我尝试将显示小部件更改为另一个(命名为anotherWidget
,您可以在上图中看到的绿色小部件)
void SimplePlayer::on_changeButton_clicked()
{
_player->pause();
_player->setVideoWidget(ui->anotherWidget);
_player->play();
}
当我单击名为changeButton
它的按钮时,它没有任何变化。媒体仍显示在默认视频小部件(黑色小部件)上。
我的构造函数:
SimplePlayer::SimplePlayer(QWidget *parent)
: QMainWindow(parent),
ui(new Ui::SimplePlayer),
_media(0),
_equalizerDialog(new EqualizerDialog(this))
{
// init ui
ui->setupUi(this);
_instance = new VlcInstance(VlcCommon::args(), this);
_player = new VlcMediaPlayer(_instance);
_player->setVideoWidget(ui->video);
signals & slots......
}