当前位置: 首页 > article >正文

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();

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

           


http://www.kler.cn/news/365612.html

相关文章:

  • 海外云手机怎样助力亚马逊店铺运营?
  • 力扣143:重排链表
  • python-PyQt项目实战案例:制作一个视频播放器
  • C++ 模版和继承
  • springboot3.x.x 集成 连接SQL Server 2008 驱动版本和SSL套接字问题的解决
  • 基于SpringBoot的“高校校园点餐系统”的设计与实现(源码+数据库+文档+PPT)
  • ComfyUI初体验
  • 【北京迅为】itop-龙芯2k1000开发指南Linux基础入门vim 编辑器
  • 【linux】ELKB安装token过期
  • arcgis js 怎么加载geoserver发布的wms服务
  • 批处理操作的优化
  • 大数据-190 Elasticsearch - ELK 日志分析实战 - 配置启动 Filebeat Logstash
  • java List对象集合中 如何根据集合中对象某几个属性组合去重
  • 太速科技-527-基于3U VPX XCZU15EG+TMS320C6678的信号处理板
  • 嵌入式MCU面经(突击版)
  • LINUX1.4
  • day05_java中的流程控制
  • 前端实现鼠标可拖动弹框
  • 推荐一些关于计算机网络和 TCP/IP 协议的书籍
  • 【001】调用kimi实现AI对话_#py
  • 隨筆 20241024 Kafka中的ISR列表:分区副本的族谱
  • 利用客户端导入有关联的业务数据(DBeaver+sql)
  • Linux中安装配置SQLite3,并实现C语言与SQLite3的交互。
  • Python基础之循环语句
  • 近似推断 - 学习的近似推理篇
  • go语言结构体与json数据相互转换