Как добавить медиа-файлы в QMediaPlaylist? - PullRequest
0 голосов
/ 28 декабря 2018

Я новичок в Qt и C ++ и создаю пример медиаплеера.Я просто хочу создать плейлист с использованием класса QMediaplaylist.

Я просто хочу, когда я щелкаю значок, появляется всплывающее окно, в котором я могу выбрать несколько видеофайлов и добавить их в QMediaplaylist.

Я сделал часть множественного выбора.но я не мог понять, как добавить эти файлы с QMediaPlaylist.

playlist = new QMediaPlaylist(player);
QStringList filenames = QFileDialog::getOpenFileNames(this,"Open a File","","Video File(*.*)");
playlist->addMedia(filenames); //error has occurred in this line 
player->setPlaylist(playlist);
on_actionPlay_triggered();

Семантическая проблема

  error:no matching member function for call to 'addMedia"
  qmediaplaylist.h:90:10:note:candidate function not viable:no known 
  conversion from 'QStringList' to const QMediaContent' for 1st argument 

  qmediaplaylist.h:91:10:note:candidate function not viable:no known 
  conversion from 'QStringList' to 'const QList<QMediaContent>'for 1st 
  argument 

1 Ответ

0 голосов
/ 28 декабря 2018

Вы должны преобразовать каждый путь в QMediaContent, используя QUrl::fromLocalFile():

playlist = new QMediaPlaylist(player);
QStringList filenames = QFileDialog::getOpenFileNames(this, "Open a File","","Video File(*.*)");
for(const QString & filename: filenames){
    playlist->addMedia(QMediaContent(QUrl::fromLocalFile(filename)));
}
player->setPlaylist(playlist);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...