java.lang.RuntimeException: setAudioSource failed

后端 未结 8 2119
灰色年华
灰色年华 2021-01-01 15:13

I am new to android development. I am just trying to record an audio with android studio(2.1.1) testing with 6.0.1 Marshmallow device.

public class MainActiv         


        
8条回答
  •  遥遥无期
    2021-01-01 15:42

    I am confused your title says java.lang.RuntimeException: setAudioSource failed and your stack trace says java.lang.RuntimeException: stop failed.

    For java.lang.RuntimeException: setAudioSource failed you might be missing Runtime Permission.

    You need to take Manifest.permission.RECORD_AUDIO from user.

    public void onRecordBtnClicked() {
      if (ActivityCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO)
          != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(this, new String[] { Manifest.permission.RECORD_AUDIO },
            10);
      } else {
        recordAudio();
      }
    }
    
    private void recordAudio() {
      //Record Audio.
    }
    
    @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
        @NonNull int[] grantResults) {
      super.onRequestPermissionsResult(requestCode, permissions, grantResults);
      if (requestCode == 10) {
        if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
          recordAudio();
        }else{
          //User denied Permission.
        }
      }
    }
    

提交回复
热议问题