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

Qt6切换音轨

需要 metaDataChanged 信号触发响应

{
    connect(player, SIGNAL(metaDataChanged()), this, SLOT(metaDataChange()));
}

void MainWindow::metaDataChange()
{
    ui->menu_audioTrack->clear();
    QList<QMediaMetaData> list_MMD = player->audioTracks();
    qDebug() << "audioTracks" << list_MMD.length();
    QActionGroup *actionGroup_audioTrack = new QActionGroup(this);
    actionGroup_audioTrack->setExclusive(true);
    for (int i=0; i<list_MMD.length(); i++) {
        QAction *action = new QAction(QString::number(i));
        action->setCheckable(true);
        if (i == 0)
            action->setChecked(true);
        ui->menu_audioTrack->addAction(action);
        actionGroup_audioTrack->addAction(action);
        connect(action, &QAction::triggered, [=](){
            action->setChecked(true);
            int index = ui->menu_audioTrack->actions().indexOf(action);
            player->setActiveAudioTrack(index);
        });
    }
}


http://www.kler.cn/a/369222.html

相关文章:

  • Kaggle竞赛——灾难推文分类(Disaster Tweets)
  • 技术成神之路:设计模式(二十一)外观模式
  • LeetCode 107.二叉树的层次遍历 II
  • C++ | Leetcode C++题解之第516题最长回文子序列
  • aarch64-opencv341交叉编译,并在arm上部署helloopencv
  • Python金色流星雨
  • ffmpeg视频滤镜:均值模糊-boxblur
  • MAN Truck Bus EDI 需求分析
  • Flutter Column组件实战案例
  • 2024 最新 frida技术栈 第一部分
  • Linux云服务器安装Docker、MySQL、Redis
  • 国产系统安装Oracle报错处理
  • 利用 Google AI 工具提升应用智能化:ML Kit、TensorFlowLite、Cloud Vision、AutoML、Gemini
  • 手机折叠屏贴膜应用
  • 【AI日记】24.10.27 了解AI的未来
  • 0基础学java之Day16
  • 缓存预取文章比较分析
  • 来源爬虫程序调研报告
  • 【山西】《信息化项目软件运维费用测算指南》(DB 14/T 2163-2020)-省市费用标准解读系列01
  • 【Vue】word / excel / ppt / pdf / 视频(mp4,mov) 预览
  • 「ZJUBCA秋季迎新见面会预告」
  • Netty的简介与实战
  • Java运行时数据区
  • 助力AI智能化时代:全国产化飞腾FT2000+/64+昇腾310B服务器主板
  • 关于k8s的cilium网络插件踩坑记
  • Android Audio基础——音频混音结束处理(十一)