小编rin*_*mic的帖子

MediaRecorder在设置音频源时抛出异常(android开发)

我正在尝试构建一个简单的应用程序来录制语音命令并将其发送到Amazon Alexa,为此我正在按照本教程录制语音命令.以下代码段给我带来了麻烦:

import android.app.Activity;
import android.media.MediaPlayer;
import android.media.MediaRecorder;
import android.os.Bundle;
import android.os.Environment;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import java.io.IOException;


public class MainActivity extends Activity {
    Button play,stop,record;
    private MediaRecorder myAudioRecorder;
    private String outputFile = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    play=(Button)findViewById(R.id.button3);
    stop=(Button)findViewById(R.id.button2);
    record=(Button)findViewById(R.id.button);

    stop.setEnabled(false);
    play.setEnabled(false);
    outputFile = Environment.getExternalStorageDirectory().getAbsolutePath() + "/recording.3gp";;

    myAudioRecorder=new MediaRecorder();
    myAudioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); ***ERROR***
    myAudioRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
    myAudioRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
    myAudioRecorder.setOutputFile(outputFile);
Run Code Online (Sandbox Code Playgroud)

通过抛出以下错误堆栈:

FATAL EXCEPTION: main
                                                                          Process: com.example.michael.test, PID: 20504
                                                                          java.lang.RuntimeException: Unable to start activity …
Run Code Online (Sandbox Code Playgroud)

java android mediarecorder

2
推荐指数
1
解决办法
4316
查看次数

标签 统计

android ×1

java ×1

mediarecorder ×1