2012-11-07 60 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) 

你能推薦修補我另一種方法將音頻文件轉換成我可以繪製的短值?

非常感謝您的幫助!

回答