博客
关于我
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读取mtcars数据集并实现以下操作_关于数据处理。。,Python交流,技术交流区,鱼C论坛 - Powered by Discuz!...
查看>>
Python 中多线程与多处理之间的区别
查看>>
Python 中如何使用 lambda 函数
查看>>
Python 中如何创建多行字符串?
查看>>
Python 中如何处理异常?
查看>>
Python 中如何实现列表的切片?
查看>>
Python 中如何实现字典的排序?
查看>>
Python 中常用的数据类型及相关操作详解
查看>>
Python 中的离线语音转文本
查看>>
Python 中的线程
查看>>
Python 中的继承机制是什么样的?
查看>>
Python 中的装饰器是什么?
查看>>
Python 中的装饰器是如何工作的,有哪些实际应用场景?
查看>>
python读excel
查看>>
Python 中读取 CSV 文件-ChatGPT4o作答
查看>>
python请求html_使用Python请求获取HTML?
查看>>
Python 之匿名函数和偏函数
查看>>
python 之栈的实现
查看>>
python语音播放
查看>>
python语言:装饰器原理
查看>>