mRecorder抛出IOException

时间:2018-07-31 14:16:37

标签: mediarecorder

我遇到一个IOExeption错误,并且我已经检查了几乎所有可以在Google上找到的方法,但仍然无法解决。

public class SoundMeter {

private MediaRecorder mRecorder = null;
public void start(Context context, Activity activity) {
    if (ActivityCompat.checkSelfPermission(context, RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(activity, new String[]{RECORD_AUDIO},
                1);
    }
    if (ActivityCompat.checkSelfPermission(context, WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(activity, new String[]{WRITE_EXTERNAL_STORAGE},
                2);
    }
    if (mRecorder == null) {
        mRecorder = new MediaRecorder();
        mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
        mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
        mRecorder.setOutputFile("/storage/emulated/0");
        mRecorder.setAudioChannels(1);
        mRecorder.setAudioSamplingRate(44100);
        mRecorder.setAudioEncodingBitRate(192000);
        mRecorder.prepare();
        mRecorder.start();
    }
}

}

这是我的主要活动:

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    SoundMeter sm = new SoundMeter();
    sm.start(getApplicationContext(), this);
}
}

我仍然是此类领域的初学者,因此在我的代码中它们可能有太多问题。

0 个答案:

没有答案