1

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



}
4

0 回答 0