2017-12-08 5 views
1

Ich programmiere eine Android Anwendung (ich verwende Android Studio).Wie wird die Aufnahme fortgesetzt, auch nachdem die Home-Taste gedrückt wurde?

beginne ich die Aufnahme mit dem folgenden Code (das ist nur ein Fragment):

public void start() { 
    int minBufferSize = AudioRecord.getMinBufferSize(SAMPLE_RATE, CHANNELS, AUDIO_ENCODING); 
    audioRecord = new AudioRecord(
      MediaRecorder.AudioSource.MIC, 
      SAMPLE_RATE, CHANNELS, AUDIO_ENCODING, 
      minBufferSize 
    ); 
    audioRecord.startRecording(); 
    recordingThread = new Thread(new Runnable() { 
     public void run() { 
      readAudioData(); 
     } 
    }, "AudioRecorder Thread"); 
    recordingThread.start(); 
} 

ich will, wenn ich die Home-Taste drücken, setzt die Anwendung der Aufnahme. Wenn ich jetzt die Home-Taste drücke, stoppt die Aufnahme.

Irgendeine Idee, wie man das macht?

Antwort

4

Sie können einen Dienst erstellen, und Sie können den Dienst starten, wenn Sie Audio aufnehmen möchten, funktioniert es, selbst wenn Sie die Home-Taste drücken.

Sie können Service von

startService(new Intent(YourActivity,Service.class)); 

beginnen und diese Methode onStartCommand() und kann durch diesen Dienst beenden

stopService(new Intent(YourActivity,Service.class)); 

oder durch stopself();

nennen
Verwandte Themen