1
我正在開發一個錄音應用程序......問題是我不知道如何使它在後臺工作。我的意思是,即使用戶關閉應用程序記錄器保持工作..如果它達到最大..它刪除文件並再次記錄..永遠的媒體錄製
用戶只應該按一下按鈕,應用程序應該永遠工作直到用戶卸載程序。
我的代碼如下:
public class MainActivity extends Activity {
private MediaRecorder recorder ;
Button B ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recorder = new MediaRecorder();
B = (Button)findViewById(R.id.button1) ;
B.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Thread startThread = new Thread (new startRe (recorder));
startThread.start() ;
B.setEnabled(false);
}
}
);
}
}
唱片類:
public class startRe implements Runnable {
private MediaRecorder recorder;
startRe(MediaRecorder r) {
this.recorder = r ;
}
public void run() {
// TODO Auto-generated method stub
startRecording();
}
public void startRecording() {
//recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(getFilePath());
try{
recorder.prepare();
recorder.start();
}catch (Exception e){
e.printStackTrace();
}
}
private String getFilePath() {
String filePath = Environment.getExternalStorageDirectory().getPath();
File file = new File(filePath, "MediaRecorderSample");
if(!file.exists())
file.mkdirs();
return (file.getAbsolutePath() + "/" + System.currentTimeMillis() + ".mp4");
}
}
現在的問題是如何使它永遠以及如何當它到達刪除最大尺寸。 此外,使用此代碼,我不知道它是否真的錄音或因爲我找不到輸出文件。