當我運行我的應用程序時,我不幸停止了應用程序消息,以下是我的代碼。請看一下。非關閉應用程序
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.dublayout);
outputFile = Environment.getExternalStorageDirectory().
getAbsolutePath() + "/javacodegeeksRecording.3gpp";
myRecorder = new MediaRecorder();
myRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
myRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
myRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
myRecorder.setOutputFile(outputFile);
addListenerButton();
}
private void addListenerButton() {
recbtn = (Button)findViewById(R.id.recbut);
recbtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
start(v);
}
});
}
public void start(View view){
if (recbtn.getText() == getString(R.string.recBtn)){
try {
myRecorder.prepare();
myRecorder.start();
recbtn.setText(getString(R.string.stopBtn));
} catch (IllegalStateException e) {
// start:it is called before prepare()
// prepare: it is called after start() or before setOutputFormat()
e.printStackTrace();
} catch (IOException e) {
// prepare() fails
e.printStackTrace();
}
Toast.makeText(getApplicationContext(), "Start recording...",
Toast.LENGTH_SHORT).show();
}
else{
try {
myRecorder.stop();
myRecorder.release();
myRecorder = null;
recbtn.setText(getString(R.string.recBtn));
Toast.makeText(getApplicationContext(), "Stop recording...",
Toast.LENGTH_SHORT).show();
} catch (IllegalStateException e) {
// it is called before start()
e.printStackTrace();
} catch (RuntimeException e) {
// no valid audio/video data has been received
e.printStackTrace();
}
}
}
它不記錄我試了一切仍然我不能讓它工作抱歉,但我仍然是這種語言的新手。
在logcat的,它說:
8月2日至5日:01:09.853:d/OpenGLRenderer(1565):TextureCache ::獲得:創建 質地(0xb87af490):名稱,大小,MSIZE = 22 ,9216,9149524 02-05 08:01:19.125:E/MediaRecorder(1565):停止呼叫處於無效狀態: 4 02-05 08:01:19.125:W/System.err(1565): java .lang.IllegalStateException 02-05 08:01:19.129: W/System.err(1565):at android.media.MediaRecorder.stop(Native Method)02-05 08:01:19.129:W/System.err (1565):在 com.example.mixpad.DubActivity.start(DubAct ivity.java:136)02-05 08:01:19.129:W/System.err(1565):at com.example.mixpad.DubActivity $ 2.onClick(DubActivity.java:99)02-05 08: 01:19.129:W/System.err(1565):at android.view.View.performClick(View.java:4084)02-05 08:01:19.133: W/System.err(1565):at android.view.View $ PerformClick.run(View.java:16966)02-05 08:01:19.137:W/System.err(1565):at android.os.Handler.handleCallback(Handler.java:615 )02-05 08:01:19.137:W/System.err(1565):at android.os.Handler.dispatchMessage(Handler.java:92)02-05 08:01:19.141:W/System。 err(1565):at android.os.Looper.loop(Looper.java:137)02-05 08:01:19.141: W/System.err(1565):at android.app.ActivityThread.main(ActivityThread.java:4745)02-05 08:01:19.141:W/System.err(1565):at java.lang .reflect.Method.invokeNative(Native Method)02-05 08:01:19.145:W/System.err(1565):at java.lang.reflect.Method.invoke(Method.java:511)02-05 08:01:19.145: W/System.err(1565):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:786) 02-05 08:01:19.145:W/System.err(1565):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)02-05 08:01:19.149:W/System.err(1565):at dalvik。 system.NativeStart.main(Native Method)
任何人都可以幫助請
你在錄製前,按其他按鈕? – stinepike
請發佈您的完整logcat錯誤。 – GrIsHu
我已經編輯它 – user3221836