2012-11-07 59 views
2

我正在开发一款Android应用程序,它必须记录声音并在屏幕中显示一些代表声音频率或强度的值。Android:将音频转换为浮动[]

对于我使用这段代码记录的事情:

mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 
mRecorder.setOutputFile(name); 
mRecorder.prepare(); 
mRecorder.start(); 

然后我最初想保存的文件转换成字节是这样的:

DataInputStream dis1 = new DataInputStream (new FileInputStream (name)); 
byte[] datainBytes1 = new byte[dis1.available()]; 
dis1.readFully(datainBytes1); 
dis1.close(); 

但我要转换的是字节值缩短或浮动以通过使用绘图方法显示它们:

canvas.drawLine(xini,yini,xfinal,yfinal,paint) 

你能推荐修补我另一种方法将音频文件转换成我可以绘制的短值?

非常感谢您的帮助!

回答