android pcm格式转mp3,java – android最快的解码mp3到pcm数据的方法
在我的应用程序中,我需要将mp3文件解码为pcm缓冲区.这是很多数据,所以当我读取并解码时,我将其下采样到单声道22050Hz.
它的工作速度很慢,30秒用于在运行模式下解码3分钟的歌曲,在调试模式下老化.在我使用libmpg的Windows机器上,我可以在大约1秒内完成.
是否有更快的方式,任何人都知道肯定更快?我不想浪费时间实现另一种方法,如果它没有明显更快.谢谢.
顺便说一下,在我的应用程序中,我需要将整个内容下载到内存中的pcm缓冲区,所以我对简单播放mp3文件的东西不感兴趣.
最佳答案 这是你在Android中使用Native的时刻!
– 使用NDK并找到一个快速的c / c库(它们比jlayer快20倍,例如18秒内9min sogn)
– 有些库可以是有用的:
www underbit.com/products/mad/
www oracle.com/technetwork/java/javase/download-137625.html(不确定这个支持MP3toPCM)
lame.sourceforge.net/about.php(这个在github上有一个android开源项目,我希望对你非常有用!
https://github.com/intervigilium/liblame)
android pcm格式转mp3,java – android最快的解码mp3到pcm数据的方法相关推荐
- byte数组穿换成pcm格式_形象地介绍DSD的编解码原理及和PCM的区别
一直有人不清楚DSD到底是啥原理,和MP3, FLAC, APE, WAV等基于PCM编码技术的音频格式又有啥区别.特意做了两张图说明一下.图一是是由很多黑点构成的蒙娜丽莎头像,点击看大图就知道是没有 ...
- Android布局文件怎样转java,android studio中从布局文件到mainactivity.java的控制流
下面是一个android应用程序的代码片段,它生成一个随机数字表单1-20,用户猜中数字,当猜中数字后按下按钮时,将比较用户编写的数字(val)和应用程序生成的数字(rand_no). 比较之后,我希 ...
- 腾讯微博android sdk,腾讯微博java(android)sdk新增微博api详细介绍
本文主要介绍腾讯微博android sdk中新增微博有关的8个接口,以及使用的示例代码 注意:以下所有的api示例代码都需要先新建QqTSdkService类对象qqTSdkService并初始化,见 ...
- 腾讯微博android sdk,腾讯微博java(android)sdk时间线api详细介绍
本文主要介绍腾讯微博android sdk中时间线有关的20个接口,以及正常获取及翻页的使用的示例代码及部分特例 注意:以下所有的api示例代码都需要先新建QqTSdkService类对象qqTSdk ...
- android 请求权限失败怎么办,java – Android HTTP POST请求错误 – 套接字失败EACCES(权限被拒绝)...
我正在尝试从 Eclipse下的Android应用程序向我的localhost发送POST请求,但是我收到此错误: socket failed EACCES (Permission denied). ...
- android系统模拟麦克风,在Android模拟器中使用麦克风(Java Android初学者)
在 Android模拟器中使用麦克风的 I READ HERE可能是可能的,所以我决定尝试一下(尽管 THIS QUESTION的答案说它不可能) 我复制/粘贴了 ANDROID DEVELOPERS ...
- android double比较大小吗,java – Android – 比较方法违反了它的一般...
没有用于重新发明轮子.我相信你应该只返回lhs.getDist().compareTo(rhs.getDist());让提供的实现compareTo完成这项工作. Compares two Doubl ...
- android开发中出现R.java was modified manually! Reverting to generated version!问题的解决方法...
这种问题是说R.java文件没有起作用,开发中R.java文件是很重要的,所以解决此类问题按照下面的方法即可: 进入 eclipse后选择菜单栏中的 Projects ,然后选择 clean 这样就把 ...
- android 双线程等待,在Java/Android中启动另一个线程之前如何等待线程完成?
在回答您的问题之前,我强烈建议您查看 ExecutorServices,例如 ThreadPoolExecutor. 现在回答你的问题: 如果要等待上一个线程完成,在开始下一步之前,您可以在之间添加t ...
最新文章
- 独家 | Python 3.10发布——你应该知道的五大新特性
- 程序员,是否应该有自己的职业规划?
- 大专学java还是python_零基础应该选择学习 java、php、前端 还是 python?
- 手机zip模拟器_车祸现场模拟器简体中文免安装版 6.4G
- Oracle 数据类型及存储方式(袁光东 原创)
- HotSpot源码(二):Java与C语言对比
- JavaScript中的arguments,callee,caller
- Php获取id并提交表单,提交表单后 PHP获取提交内容的实现方法
- 非递归遍历二叉树-前序中序
- 灵敏度和稳定性能兼具 新气体传感器技术适用于工业应用
- 原生js对数组操作(find,findIndex)
- kingbase 修改数据库密码
- 基于新浪微博api的微博分享功能实现
- html代码中font是什么意思,HTML元素font标签的使用方法及作用
- 史上屌炸天超详细的Java实现逆波兰表达式
- 实现树莓派模拟wifi进行打卡签到
- Python多线程-手慢无的真相
- PS运动模糊+径向模糊+高斯模糊
- Firefox 禁止中国用户!!
- 笔记本如何选择修复计算机,详细教你笔记本电脑无线网卡修复