
android:使用audiotrack 类播放wav文件
发布日期:2021-05-08 01:24:11
浏览次数:13
分类:精选文章
本文共 1272 字,大约阅读时间需要 4 分钟。
参考:
建议下载一个铃声文件(小点的),然后用千千静听,转换成wav格式的。
源码如下:
public class Playmp3Activity extends Activity {
private final String file="//sdcard//testring.wav"; private final static String tag="22"; static byte[] buffer=null; AudioTrack at=null; int pcmlen=0; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); try { FileInputStream fis=new FileInputStream(file); buffer=new byte[1024*1024*2];//2M int len=fis.read(buffer); Log.i(tag, "fis len="+len); Log.i(tag, "0:"+(char)buffer[0]); pcmlen=0; pcmlen+=buffer[0x2b]; pcmlen=pcmlen*256+buffer[0x2a]; pcmlen=pcmlen*256+buffer[0x29]; pcmlen=pcmlen*256+buffer[0x28]; int channel=buffer[0x17]; channel=channel*256+buffer[0x16]; int bits=buffer[0x23]; bits=bits*256+buffer[0x22]; Log.i(tag, "pcmlen="+pcmlen+",channel="+channel+",bits="+bits); at = new AudioTrack(AudioManager.STREAM_MUSIC, 44100, channel, AudioFormat.ENCODING_PCM_16BIT, pcmlen, AudioTrack.MODE_STATIC); at.write(buffer, 0x2C, pcmlen); Log.i(tag, "write 1..."); at.play(); Log.i(tag, "play 1..."); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }@Override
protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); at.release(); } }发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月28日 00时53分33秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
[87]用secureCRT连接虚拟机中的Ubuntu系统,出现“远程主机拒绝连接”错误
2019-03-13
Shell脚本防DNS攻击检测并删除肉机IP
2019-03-13
如何在VSCode中定制JSON的IntelliSense
2019-03-13
椭圆曲线的定义
2019-03-13
多代理区块链框架客户端的操作
2019-03-13
RSA操作中的公钥和私钥的生成
2019-03-13
C#从1打印到100再打印到1-递归的应用
2019-03-13
go语言中类的继承和方法的使用
2019-03-13
Ubuntu 修改权限的操作
2019-03-13
caffe训练的时候遇到的text-format 错误解决方案。
2019-03-13
Java 8新特性(一):Lambda表达式
2019-03-13
ZOJ问题(坑死了)
2019-03-13
Little Zu Chongzhi's Triangles
2019-03-13
算法入门
2019-03-13
cf-A. Wet Shark and Odd and Even(水)
2019-03-13
Train Problem II(卡特兰数+大数乘除)
2019-03-13
一些技术博客
2019-03-13
第01问:MySQL 一次 insert 刷几次盘?
2019-03-13
分布式 | DBLE 3.20.07.0 来啦!
2019-03-13
振荡器指标
2019-03-13