用Qtl编写媒体软件到安卓(待续)
来源:互联网 发布:数据库工程师培训机构 编辑:程序博客网 时间:2024/06/05 04:07
刚刚接触了一下要在安卓上面编写媒体音频软件,但是看了很多其他的文章,都是建议使用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<jstring>()
);
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在安卓上面播放正常。
具体的使用后续会完善更新。
1 0
- 用Qtl编写媒体软件到安卓(待续)
- 内核驱动编写错误集(待续)
- Java编写记事本 (未完待续)
- 开源遥感软件(未完待续)
- Altium designer软件使用总结(待续......)
- QTL与STL对比
- 媒体中心软件 XBMC
- 分子图形软件MOL4D(2)基本功能(未完待续)
- Java系列软件开发之我见(1未完待续)
- amd64软件优化学习笔记(未完待续)
- 必备的移动办公软件(未完,待续)
- 编写媒体基础MFT组件
- 媒体的关键还是在于“软件”(人与规范)
- 技术媒体和软件应用杂谈(20070313聚会)
- 技术媒体和软件应用杂谈(20070313聚会)
- 技术媒体和软件应用杂谈(20070313聚会)
- 技术媒体和软件应用杂谈(20070313聚会)
- 软件编写规范(可读性)
- sys_execv源码分析
- Vuex源码阅读笔记
- WWDC心得与延伸:iOS图形性能
- Android sqlite插入一条数据时,时间自动写入数据库
- 初识PHP(10)
- 用Qtl编写媒体软件到安卓(待续)
- 数据结构——图 动态规划
- C语言之尾队列tailq
- 第十二课 数据文件与持久性
- 大神教你如何在 Linux 中启用 Shell 脚本的调试模式
- Android开发-自定义View-AndroidStudio(五)ViewPager初体验
- ajax
- C++进程通信之命名管道
- DexExtractor