QMediaPlayer

QMediaPlayer

QMediaPlayer 是 Qt 框架中的一个多媒体播放器类,用于处理音频和视频文件的播放。它是 Qt Multimedia 模块的一部分,提供了一个易于使用的接口,允许您在您的 Qt 应用程序中播放各种媒体内容。

QMediaPlayer是个壳(也可以叫框架),依赖本地解码器,视频这块默认基本上就播放个MP4甚至连MP4都不能播放,如果要支持其他格式需要下载k-lite或者LAV Filters安装即可(k-lite或者LAV Filters是指windows上的,其他系统上自行搜索,貌似嵌入式linux上依赖GStreamer(sudo apt-get install gstreamer1.0-libav ubuntu-restricted-extras),并未完整验证,报错提示 Your GStreamer installation is missing a plug-in,需要命令安装 sudo apt-get install ubuntu-restricted-extras)。如果需要做功能强劲的播放器,初学者建议用vlc、mpv,终极万能大法用ffmpeg(解码出来的视频可以用QOpenGLWidget走GPU绘制或者转成QImage绘制,音频数据可以用QAudioOutput播放)

QMediaPlayer用法:

1. 多媒体格式支持: QMediaPlayer 支持许多常见的音频和视频文件格式,包括 MP3、WAV、OGG、MPEG、AVI 等。在 Qt 应用程序中播放各种不同类型的媒体文件。

2. 控制播放: 使用 QMediaPlayer 来控制媒体文件的播放、暂停、停止、快进、快退等操作。这使能够创建自定义的媒体播放器界面,并与用户交互。

3. 音量控制: 通过 setVolume 方法,可以设置音频的音量,以便根据需要调整音量。

4. 通知和错误处理: QMediaPlayer 提供了信号和槽机制,以便能够捕获媒体播放过程中的状态变化、错误信息等,并作出相应的处理。

5. 视频显示: 如果播放的媒体文件包含视频内容,将视频内容显示在 Qt 窗口中。为此,可以使用 QVideoWidget 或其他 Qt 组件来显示视频。

6. 媒体查询: QMediaPlayer 查询媒体文件的元数据,如标题、作者、持续时间等信息。

用例:

#include

#include

int main(int argc, char *argv[])

{

QCoreApplication a(argc, argv);

// 创建 QMediaPlayer 对象

QMediaPlayer player;

// 设置媒体文件路径

player.setMedia(QUrl::fromLocalFile("/path/to/your/mediafile.mp3"));

// 播放媒体文件

player.play();

return a.exec();

}

相关推荐

硬核!大学各学院专业类实用app揭秘
365bet注册送

硬核!大学各学院专业类实用app揭秘

📅 08-05 👁️ 3360
73岁洪金宝开设抖音账号 三天吸74万粉丝
365bet注册送

73岁洪金宝开设抖音账号 三天吸74万粉丝

📅 08-01 👁️ 6122
世界杯最惨球队排行,韩国领先中国未进8强,一队含恨改名