qt QMediaPlaylist

**QMediaPlaylist**是 Qt Multimedia 模块中的一个类,用于管理媒体文件的播放列表。它提供了一种方便的方式来组织和控制多媒体内容的播放,如音频和视频文件。

主要方法

  • QMediaPlaylist(00bject *parent = nullptr):构造一个新的媒体播放列表对象。
  • void addMedia(const QMediaContent &content):将媒体内容添加到播放列表末尾。
  • bool insertMedia(int index, const QMediaContent &content):在指定位置插入媒体内容。
  • void removeMedia(int index):移除指定位置的媒体内容
  • void clear():清除所有媒体内容。
  • int mediacount()const:返回播放列表中的媒体内容数。
  • QMediaContent media(int index)const:返回指定位置的媒体内容。
  • void setCurrentIndex(int index):设置当前播放的媒体索引。
  • int currentIndex()const:返回当前播放的媒体索引。
  • void next():播放下一个媒体内容,
  • void previous():播放上一个媒体内容
  • QMediaPlaylist::PlaybackMode playbackMode()const:返回当前的播放模
  • void setPlaybackMode(QMediaPlaylist::PlaybackMode mode):设置播放模式
  • bool isEmpty() const:检查播放列表是否为空。

常用枚举类型

QMediaPlaylist::PlaybackMode : 表示播放列表的不同播放模式,包括

  • CurrentItemOnce : 播放当前媒体项一次。
  • CurrentItemInLoop : 循环播放当前媒体项
  • Sequential : 顺序播放播放列表中的媒体项。
  • Loop : 循环播放播放列表中的所有媒体项,
  • Random : 随机播放播放列表中的媒体项。

常用信号

  • void currentIndexChanged(int position):当当前播放的媒体索引改变时发出该信号。

  • void playbackModeChanged(QMediaPlaylist::PlaybackMode mode):当播放模式改变时发出该信号。

  • void mediaInserted(int start,int end):当媒体内容插入到播放列表时发出该信号。

  • void mediaRemoved(int start,int end):当媒体内容从播放列表移除时发出该信号。

  • void mediaChanged(int start,int end):当播放列表中的媒体内容改变时发出该信号。

    playlist = new QMediaPlaylist;
    playlist->addMedia(QUrl("http://example.com/movie1.mp4"));
    playlist->addMedia(QUrl("http://example.com/movie2.mp4"));
    playlist->addMedia(QUrl("http://example.com/movie3.mp4"));
    playlist->setCurrentIndex(1);

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

    videoWidget = new QVideoWidget;
    player->setVideoOutput(videoWidget);
    videoWidget->show();

    player->play();

觉得有帮助的话,打赏一下呗。。

相关推荐
qq_401700412 小时前
Qt QUrl 详解与代码示例
开发语言·数据库·qt
雨田言炎4 小时前
Qt的常用类QList--序列数据管理
嵌入式硬件·qt
朽棘不雕8 小时前
Qt项目代码解释
开发语言·qt
CVer儿8 小时前
vs2022配置qt
开发语言·qt
kaixin_learn_qt_ing8 小时前
Qt 打开目录多选对话框
qt
lqj_本人17 小时前
WinPcap 鸿蒙 PC 适配全记录:从 NPF 原始抓包到 VPN_TUN 与 libpcap 双通路
qt·华为·harmonyos
Quz20 小时前
QML StackView:三种入栈方式(Item、Component 与 URL)
qt
Quz20 小时前
QML StackView:入栈、出栈、替换与批量操作
qt
老赵的博客1 天前
c++面试之从虚函数表到Rtti一次性讲清楚
c++·qt
颜颜yan_1 天前
Git Cola 鸿蒙 PC 版适配全记录:从 Qt 桌面工具到 ArkTS 原生应用
git·qt·harmonyos