博客
关于我
android:使用audiotrack 类播放wav文件
阅读量:367 次
发布时间:2019-03-05

本文共 1643 字,大约阅读时间需要 5 分钟。

参考:

建议下载一个铃声文件(小点的),然后用千千静听,转换成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) { super.onCreate(savedInstanceState); try { FileInputStream fis=new FileInputStream(file); buffer=new byte[1024*1024*2]; 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) { e.printStackTrace(); } } @Override protected void onDestroy() { super.onDestroy(); at.release(); }}

@Override

protected void onCreate(Bundle savedInstanceState)

@Override

protected void onDestroy()

转载地址:http://dupg.baihongyu.com/

你可能感兴趣的文章
Python变量命名方法-ChatGPT4o作答
查看>>
Python变量与运算符
查看>>
Python变量/运算符/函数/模块/string
查看>>
python发送邮件的时候出现 error (535, b‘5.7.3 Authentication unsuccessful‘) 解决方法
查看>>
python系列【仅供参考】:python flask框架 debug功能
查看>>
python发送notes邮件_使用python在Lotus Notes中发送邮件
查看>>
Python双版本下创建一个Scrapy(西瓜皮)项目
查看>>
Python双版本下No module named 'requests'
查看>>
python及pycharm2018软件安装教程
查看>>
python去重txt文本_Python实现的txt文件去重功能示例
查看>>
python去掉列表的逗号,从Python列表项中删除标点符号
查看>>
Python卸载所有包
查看>>
python单线程下实现多个socket并发
查看>>
Python单元测试框架介绍(超详细~)
查看>>
Python单元测试框架
查看>>
python单元测试之unittest
查看>>
Python单元测试unittest实战
查看>>
Python单元测试-模拟VS补丁
查看>>
python协程实时输出_Python 协程以及事件循环的问题,怎么知道 IO 读取结束了呢?...
查看>>
Python十进制&;包提供错误的结果
查看>>