Ich möchte so lange aufnehmen, wie ich die Aufnahmetaste gedrückt halte und diese Stimme in den Rohordner in meinem Projekt speichern. Ich habe den folgenden Code verwendet. Obwohl keine Fehler angezeigt werden, konnte ich keine Ausgabe erhalten. Was kann das Problem sein? Hast du irgendwelche Vorschläge? Danke,Wie kann ich Stimme in Android so lange aufnehmen, wie eine Taste gedrückt halten?
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
Runnable mAction = new Runnable() {
public void run() {
System.out.println("Performing action...");
int frequency=11025;
int channelConfiguration=AudioFormat.CHANNEL_CONFIGURATION_MONO;
int audioEncoding= AudioFormat.ENCODING_PCM_16BIT;
File file=new File(Environment.getExternalStorageDirectory(),"raw.pcm");
try{
file.createNewFile();
}catch(IOException e){}
try{
OutputStream os=new FileOutputStream(file);
BufferedOutputStream bos=new BufferedOutputStream(os);
DataOutputStream dos=new DataOutputStream(bos);
int bufferSize=AudioRecord.getMinBufferSize(frequency, channelConfiguration,
audioEncoding);
short[] buffer=new short[bufferSize];
audioRecorder=new AudioRecord(MediaRecorder.AudioSource.MIC,
frequency, channelConfiguration, audioEncoding, bufferSize);
audioRecorder.startRecording();
isRecording=true;
while(isRecording){
int bufferReadResult=audioRecorder.read(buffer, 0,bufferSize);
for(int i=0;i<bufferReadResult;i++){
dos.writeShort(buffer[i]);
}
}
audioRecorder.stop();
dos.close();
}catch(Throwable t){}
}
};
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
if (myHandler != null) return true;
myHandler = new Handler();
myHandler.postDelayed(mAction, 500);
break;
case MotionEvent.ACTION_UP:
if (myHandler == null) return true;
isRecording=false;
myHandler.removeCallbacks(mAction);
myHandler = null;
break;
}
return false;
}
Danke für Ihre Hilfe – selenk
wäre besser gewesen, mit der Quelle zu verbinden und die entsprechenden Teile des Codes statt Kopie Einfügen erklären: https://github.com/krvarma/krvarma-android-samples/tree/master/AudioRecorder. 1 –