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

北京华夏建设有限公司网站自己有服务器怎么搭建网站

北京华夏建设有限公司网站,自己有服务器怎么搭建网站,willin kan 让你的wordpress飞起来,网站被k原因QMediaPlayer 是 Qt Multimedia 模块中的核心类,用于播放音频和视频媒体文件。它支持本地文件、网络流媒体以及实时数据源,具备播放控制、状态管理、元数据访问等功能。QMediaPlayer的基本用法可能包括设置媒体源、控制播放(播放、暂停、停止…

QMediaPlayer 是 Qt Multimedia 模块中的核心类,用于播放音频和视频媒体文件。它支持本地文件、网络流媒体以及实时数据源,具备播放控制、状态管理、元数据访问等功能。QMediaPlayer的基本用法可能包括设置媒体源、控制播放(播放、暂停、停止)、调整音量、监听播放状态变化等。

1. 信号(Signals)

信号用于通知外部对象播放器状态、媒体属性和错误事件的变化。

(1)媒体改变

void mediaChanged(const QMediaContent &media);

  • 触发时机:当播放器的媒体内容被显式设置(如调用 setMedia())时触发。
  • 参数QMediaContent 对象表示新加载的媒体内容。
  • 用途:检测媒体是否成功加载,可用于预加载验证或界面元素更新。

void currentMediaChanged(const QMediaContent &media);

  • 触发时机:当播放列表中的当前媒体切换时触发(如自动播放下一曲)。
  • 参数QMediaContent 对象表示当前播放的媒体。
  • 用途:结合 QMediaPlaylist 使用,实现播放列表切换的逻辑。

(2)状态变化 

void stateChanged(QMediaPlayer::State newState);

  • 触发时机:播放器状态改变时触发(如播放→暂停→停止)。
  • 参数newState 是枚举值,可能的值包括:
    • QMediaPlayer::PlayingState
    • QMediaPlayer::PausedState
    • QMediaPlayer::StoppedState
  • 用途:更新界面按钮图标(播放/暂停)、显示状态栏信息。

void mediaStatusChanged(QMediaPlayer::MediaStatus status)

  • 触发时机:媒体资源的状态变化(如加载中、已加载、缓冲中、播放结束)。

  • 参数status 表示媒体状态:

    • QMediaPlayer::LoadingMedia:正在加载媒体。

    • QMediaPlayer::LoadedMedia:媒体加载完成。

    • QMediaPlayer::BufferingMedia:缓冲中(网络流媒体常见)。

    • QMediaPlayer::EndOfMedia:播放完成。

(3)媒体播放进度

void durationChanged(qint64 duration);

  • 触发时机:媒体元数据加载完成后触发(如歌曲总时长)。
  • 参数duration 是媒体的总毫秒时长。
  • 用途:更新进度条最大值或显示歌曲总时长。

void positionChanged(qint64 position);

  • 触发时机:播放进度改变时(如用户拖动进度条或自动播放)。
  • 参数position 是当前播放位置的毫秒数。
  • 用途:实时更新进度条位置或显示当前播放时间。

(4)音频/视频可用性 

void audioAvailableChanged(bool available);

  • 触发时机:音频数据是否可用的状态变化。
  • 参数available 为 true 表示有音频数据可播放。
  • 用途:处理无音频输出的异常情况(如仅视频文件)。

void videoAvailableChanged(bool videoAvailable);

  • 触发时机:视频数据是否可用的状态变化。
  • 参数videoAvailable 为 true 表示有视频数据可播放。
  • 用途:切换视频窗口可见性或处理纯音频文件

(5)其他常用信号

void playbackRateChanged(qreal rate);

  • 触发时机:播放速率改变时(如用户调整倍速)。
  • 参数rate 是新的播放速率(1.0=正常,0.5=0.5倍速)。

void seekableChanged(bool seekable);

  • 触发时机:媒体是否支持随机跳转(如MP3支持,某些流媒体不支持)。
  • 参数seekable 为 true 表示可以跳转。

void mutedChanged(bool muted);

  • 触发时机静音状态切换时。
  • 参数muted 为 true 表示已静音。
Q_SIGNALS:void mediaChanged(const QMediaContent &media);void currentMediaChanged(const QMediaContent &media);void stateChanged(QMediaPlayer::State newState);void mediaStatusChanged(QMediaPlayer::MediaStatus status);void durationChanged(qint64 duration);void positionChanged(qint64 position);void volumeChanged(int volume);void mutedChanged(bool muted);void audioAvailableChanged(bool available);void videoAvailableChanged(bool videoAvailable);void bufferStatusChanged(int percentFilled);void seekableChanged(bool seekable);void playbackRateChanged(qreal rate);void audioRoleChanged(QAudio::Role role);void customAudioRoleChanged(const QString &role);void error(QMediaPlayer::Error error);

 2. 槽函数(Slots)

槽函数用于接收外部指令(如用户点击按钮)来控制播放器行为。

public Q_SLOTS:void play();void pause();void stop();void setPosition(qint64 position); //跳转到指定时间位置void setVolume(int volume);void setMuted(bool muted);void setPlaybackRate(qreal rate);void setMedia(const QMediaContent &media, QIODevice *stream = nullptr);void setPlaylist(QMediaPlaylist *playlist);

3. 枚举(enum)

enum State
{StoppedState,       // 停止状态PlayingState,      // 播放状态PausedState         // 暂停状态
};
enum MediaStatus
{UnknownMediaStatus,   // 未知状态(初始化值)NoMedia,              // 无媒体关联LoadingMedia,          // 正在加载媒体LoadedMedia,           // 媒体已加载完成StalledMedia,          // 播放卡顿(解码阻塞)BufferingMedia,        // 缓冲中(网络流场景)BufferedMedia,         // 已缓冲部分(可跳过前奏)EndOfMedia,            // 到达媒体末尾InvalidMedia            // 媒体格式/内容无效
};
enum Flag
{LowLatency = 0x01,       // 低延迟模式(实时性优化)StreamPlayback = 0x02,   // 流式播放模式(边下边播)VideoSurface = 0x04       // 指定视频渲染表面(GPU加速)
};
Q_DECLARE_FLAGS(Flags, Flag) // 允许位运算组合
enum Error
{NoError,               // 无错误(默认值)ResourceError,          // 资源不可用(内存不足/文件损坏)FormatError,            // 格式不支持(如非MP4/WAV)NetworkError,           // 网络连接问题(断网/CORS)AccessDeniedError,       // 权限被拒绝(存储权限/DRM)ServiceMissingError,    // 依赖服务缺失(如云播放服务)MediaIsPlaylist          // 试图播放播放列表项(需选择具体媒体)
};
http://www.dtcms.com/a/477194.html

相关文章:

  • 学会服务站建站方案国家免费职业技能培训
  • 建网站的资料wordpress 支付
  • 西部数码的vps云主机如何访问网站hao爱做网站
  • 合肥网站制作公司排名网站建设 - 碧诺网络
  • 查网站备案号昆山手机网站建设公司
  • 湖南对外建设集团网站网站建设 空间什么系统
  • 如何修改网站关键词淘宝网站建设策划报告
  • 南昌网站开发公司网站怎么免费建站
  • 谷歌网站提交入口网站实现
  • 网站建设 会计处理单机游戏大全网站开发
  • nas 可以做网站吗12306网站哪个公司做的
  • 做网站公司凡科去掉wordpress副标题
  • 嘉兴备案网站建设电子商务物流
  • 三门峡网站建设wordpress修改绑定域名
  • 手机搞笑网站模板下载安装为什么用开源建站
  • 网站logo提交广州会议室租用
  • 网站建设业务员话术定制产品网站有哪些
  • 常州市住房建设局网站平阴县建设局网站
  • 做网站怎么字体全部变粗了网站建设应注意什么
  • 在网上做试卷的网站godaddy wordpress 备
  • 制作企业网站要花多少钱做庭院的网站
  • 八年级信息技术网站建立怎么做网络营销的优势有哪些
  • 网站建设怎么谈梵克雅宝中文官网
  • eclipse网站开发流程图app立即打开
  • 西安云众网站建设wordpress网站制作app
  • 胶州为企业做网站的公司龙口网站建设公司报价
  • 网站建设与管理实践收获手机百度seo怎么优化
  • 设计的网站都有哪些内容百度百科创建
  • 网站内页怎么做一站式服务工作总结
  • 图片交易网站源码公司网站备案材料