Qt媒体播放之QMediaPlayer

1.音乐播放

/*Header:
#include <QMediaPlayer> 
qmake:
QT += multimedia
*/
QMediaPlayer *player = new QMediaPlayer();
/*从本地读取*/
player->setMedia(QUrl("F:/pianai.mp3"));
player->setMedia(QMediaContent(QUrl::fromLocalFile("F:/pianai.mp3")));
player->setMedia(QUrl("qrc:/static/pianai.mp3"));
/*网络读取*/
player->setMedia(QMediaContent(QUrl("http://s320.xiami.net/348/2110080348/2102495981/1795105593_1516272907214.mp3?ccode=xiami_mac_&expire=86400&duration=210&psid=fac47f82a061b1bd1e408f6ad353a7ed&ups_client_netip=129.204.235.253&ups_ts=1608702323&ups_userid=0&utid=&vid=1795105593&fn=1795105593_1516272907214.mp3&vkey=Bed34e421fe1306ac9bf9095e5793b2a9")));
player->setVolume(50);
player->play();

2.视频播放

/*
Header:
#include<QMediaPlaylist>
#include<QVideoWidget>
#include<QMediaPlayer>
qmake:
QT += multimedia multimediawidgets
*/

 播放多个视频(也可以播放多个音乐)

QHBoxLayout *mainLayout=new QHBoxLayout(this);
QMediaPlaylist *playlist = new QMediaPlaylist();
/*本地读取*/
playlist->addMedia(QMediaContent(QUrl::fromLocalFile("F:/1.mp4")));
playlist->addMedia(QUrl("qrc:/static/1.mp4"));
playlist->addMedia(QUrl("F:/1.mp4"));
/*网络读取*/
playlist->addMedia(QMediaContent(QUrl("https://v-cdn.zjol.com.cn/280443.mp4")));
playlist->addMedia(QMediaContent(QUrl("https://v-cdn.zjol.com.cn/276982.mp4")));
playlist->setCurrentIndex(1);

QMediaPlayer *player = new QMediaPlayer();
player->setPlaylist(playlist);

QVideoWidget *videoWidget = new QVideoWidget();
player->setVideoOutput(videoWidget);
mainLayout->addWidget(videoWidget);
player->play();

  

  

  播放单个视频

    QHBoxLayout *mainLayout=new QHBoxLayout(this);
    QVideoWidget *videoWidget = new QVideoWidget();
    QMediaPlayer *player = new QMediaPlayer();
     /*从本地读取*/
    player->setMedia(QUrl("qrc:/static/1.mp4"));
    player->setMedia(QUrl("F:/1.mp4"));
    player->setMedia(QMediaContent(QUrl::fromLocalFile("F:/1.mp4")))
    /*网络读取*/
     player->setMedia(QMediaContent(QUrl("https://v-cdn.zjol.com.cn/280443.mp4")));
     player->setVideoOutput(videoWidget);
     mainLayout->addWidget(videoWidget);
     player->play();

  

  

  

播放视频,本地需要安装视频解码器

     比如:

     

/*
K-Lite:http://www.codecguide.com

LAVFilters:https://www.free-codecs.com

*/

  

 

posted @ 2020-12-23 13:57  NAVYSUMMER  阅读(3156)  评论(0编辑  收藏  举报
交流群 编程书籍