Как изменить виджет отображения мультимедиа vlc-qt? - PullRequest
0 голосов
/ 17 ноября 2018

Я использую 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......



}
...