目录

2024-12-18-QtQt-音视频详细讲解

[Qt][Qt 音视频]详细讲解

目录


1.Qt 音频

  • 在Qt中,⾳频主要是通过 QSound 类来实现

    • 使⽤ QSound 类时,需要 添加模块multimedia
  • 注意QSound 类只⽀持播放 wav 格式的⾳频⽂件,所以

    • 如果想要添加⾳频效果,那么⾸先需要将⾮wav格式的⾳频⽂件转换为wav格式
  • 核心API

    • play() :开始或继续播放当前源
  • 示例

    sound = new QSound(":/sound.wav", this);
    
    connect(ui->btn, &QPushButton::clicked, [=](){
    sound->play();
    });

2.Qt 视频

  • 在 Qt 中,视频播放的功能主要是通过 QMediaPlayer 类和 QVideoWidget 类来实现

    • 在使⽤这两个类时要 添加对应的模块 multimediamultimediawidgets
  • 核心 API

    • setMedia() :设置当前媒体源
    • setVideoOutput() :将 QVideoWidget 视频输出附加到媒体播放器
      • 如果媒体播放器已经附加了视频输出,将更换⼀个新的
  • 示例

    // 构造函数中
    {
    mediaPlayer = new QMediaPlayer(this);
    videoWidget = new QVideoWidget(this);
    
        // 将选择视频对应的按钮和槽函数进⾏关联
        connect(chooseBtn, &QPushButton::clicked, this, &Widget::ChooseVideo);
    
    }
    
    void Widget::ChooseVideo()
    {
    // 选择视频,返回⼀个播放视频的名字
    QString name = QFileDialog::getSaveFileName
    (this, "选择视频", ".", "WMV(*.wmv)");
    
        // 设置媒体音乐
        mediaPlayer->setMedia(QUrl(name));
    
        // 输出视频画⾯
        mediaPlayer->setVideoOutput(videoWidget);
    
        // 播放
    
    mediaPlayer->play();
    }

68747470733a2f2f62:6c6f672e6373646e2e6e65742f71715f33373238313635362f:61727469636c652f64657461696c732f313431323737323236