public class MainActivity extends Activity{ Button button; Button button2; boolean isRecording; AudioRecord audioRecord; int audioSource=AudioSource.MIC; int sampleRate=44100; int channelConfig=AudioFormat.CHANNEL_IN_STEREO; int audioFormat=AudioFormat.ENCODING_PCM_16BIT; int bufferSize=AudioRecord.getMinBufferSize(sampleRate, channelConfig, audioFormat); //AudioTrack audioTrack=new AudioTrack(AudioManager.STREAM_MUSIC,sampleRate,channelConfig,audioFormat,bufferSize,AudioTrack.MODE_STATIC); short[] buffer=new short[(bufferSize/2)]; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.v("Buffer size",bufferSize+""); Log.v("Length", buffer.length+""); for(int i=0;i<bufferSize/2;i++){ Log.v(i+"", buffer[i]+""); } button=(Button)findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { azione(); } }); button2=(Button)findViewById(R.id.button2); button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { isRecording=false; audioRecord.stop(); audioRecord.release(); audioRecord=null; Log.v("spento", "SPENTO"); //ULTIMA MODIFICA-------------------------------- for(int i=0;i<bufferSize/2;i++){ Log.v(i+"", (short)buffer[i]+""); } } }); } public void azione(){ audioRecord=new AudioRecord(audioSource,sampleRate,channelConfig,audioFormat,bufferSize/2); audioRecord.startRecording(); isRecording=true; Thread thread=new Thread(new Runnable(){ @Override public void run() { while(isRecording){ int rd=audioRecord.read(buffer, 0, bufferSize/2); } } }); thread.start(); } }
Miei appunti liberi, senza pretesa di dire necessariamente sempre cose giuste o sensate, durante l'apprendimento e la pratica della programmazione
JavascriptProva
venerdì 18 marzo 2016
Codice sicuramente funzionante per l'AudioRecord
Iscriviti a:
Commenti sul post (Atom)
Nessun commento:
Posta un commento