当前位置:首页 > > 充电吧
[导读]刚刚接触了一下要在安卓上面编写媒体音频软件,但是看了很多其他的文章,都是建议使用QML去写MediaPlayer。 本人是用QWidgetC++来实现的,一个简单的测试代码:void androidF

刚刚接触了一下要在安卓上面编写媒体音频软件,但是看了很多其他的文章,都是建议使用QML去写MediaPlayer。 本人是用QWidgetC++来实现的,一个简单的测试代码:

void androidFile::showplay()
{
 
    QAndroidJniObject music = QAndroidJniObject::getStaticObjectField(
                "android/os/Environment",
                "DIRECTORY_MUSIC",
                "Ljava/lang/String;"
                );
    QAndroidJniObject musicDir = QAndroidJniObject::callStaticObjectMethod(
                   "android/os/Environment",
                   "getExternalStoragePublicDirectory",
                   "(Ljava/lang/String;)Ljava/io/File;",
                   music.object()
                   );
      musicDir_ = musicDir.toString();
       

      QMediaPlayer  * qtaudioPlayer = new QMediaPlayer;
       musicDir_ = "file://"+musicDir_ + "/123.mp3";
       qDebug()<<"music" <<musicDir_;
       qtaudioPlayer->setMedia(QUrl(musicDir_));
       qDebug()<<"musicQul = "<<QUrl(musicDir_);
       qtaudioPlayer->play();
//       QSoundEffect * Player = new QSoundEffect;
//       Player->setSource(QUrl(musicDir_));
//       Player->play();


}

上面的musicDir是获取到安卓的音乐相关的目录,可以自己用QFlieInfo这个类来搜索相关的音频文件可以实现一个简单的播放器,因为是测试所以也没有写那么详细,主要看能否跑通。 代码中使用setMedia来设置播放的文件路径,这里只是单一的测试音频,视频目前没有测试。设置好路径之后。调用play就可以播放了。

还有很多的方法可以获取音频中包含的信息,可以参考QT的帮助

一些常用的提供的对外接口有

pause()  //暂停

stop()//停止

     在使用QMediaPlayer时,发现路径必须要在前面加上“file://”,否则播放失败。

原先也测试过用QSoundEffect这个类,发现好像只能播放Wav的格式,MP3的格式报错。目前使用QMediaPlayer在安卓上面播放正常。 具体的使用后续会完善更新。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

从按下快门前就对照片进行即时锐化,到通话过程中实时消除背景噪音,再到离线状态下与人工智能 (AI) 助手互动,端侧 AI 正在重塑移动体验。而 Arm 计算平台正是实现这些无缝交互体验的强劲驱动力。

关键字: 人工智能 iOS 安卓

7月9日,鲁大师发布《2025年手机行业半年报》。报告显示,OPPO ColorOS 15凭借226.76的流畅度分数,力压市面其他手机系统,荣获“2025年上半年最流畅手机系统”奖项,搭载 ColorOS 15系统的...

关键字: ColorOS Find X8 Ultra 安卓

深圳2025年2月8日 /美通社/ -- 2月8日,荣耀正式接入DeepSeek。荣耀手机系统版本MagicOS8.0及以上用户,将YOYO助理升级到80.0.1....

关键字: EPS 安卓 荣耀 PSE

9月24日消息,今天,联发科官方宣布将于10月9日举行新一代MediaTek天玑旗舰芯片新品发布会。

关键字: 安卓 安卓14 智能设备

6月19日消息,据报道,谷歌在最新的安卓15测试版更新中,对"快速充电"的标准进行了重新定义。

关键字: 安卓 安卓14 智能设备

据外媒最新报道,微软近日披露了一个名为“ Dirty Stream ”的严重安全漏洞,该漏洞可能影响到数十亿下载量的 Android 应用。这种攻击可能使得攻击者完全控制应用,未经授权访问敏感用户数据,或拦截私密登录信息...

关键字: 安卓 漏洞 小米

正随着科技的迅猛发展,操作系统作为智能设备的核心,其更新换代已成为推动行业前进的关键动力之一。华为在这场革新的浪潮中推出了自己的操作系统——鸿蒙(HarmonyOS)。自诞生之日起,鸿蒙系统便以其独特的分布式架构和全场景...

关键字: 鸿蒙系统 华为 安卓

在移动处理器的世界中,华为的麒麟系列和高通的骁龙系列无疑是两个响亮的名字。它们代表了当今智能手机中最先进的技术成就,也是消费者在选择手机时重点考虑的性能指标之一。本文将深入探讨麒麟950处理器的技术规格、性能特点,并以此...

关键字: 麒麟950 高通骁龙 华为 安卓

随着科技的飞速发展和智能手机市场的不断演变,操作系统作为手机的核心组成部分,其升级与替换一直备受关注。近期,华为推出了自主研发的鸿蒙系统,并陆续在其部分手机型号上进行升级。这一变化引发了广泛讨论:华为升级鸿蒙后,用户是否...

关键字: 华为 鸿蒙OS 安卓
关闭