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