如何更改vlc-qt媒体显示小部件?

时间:2018-11-17 13:17:40

标签: qt vlc-qt

我正在使用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......



}

0 个答案:

没有答案