Android中MediaRecorder

  

现在最火热的计算机技术人工智能,智能识别,当你拿起你的手机呼唤出后台小爱同学,小溪同学,Siri,你说什么他们就能工具你的话来操作手机或者回答,这就说要安卓提供的音频采集功能:MediaRecorder

  

  <强>第一步须有拥有麦克风权限

  

第一种方式是在AndroidManifest.xml中申请权限,不过未经允许偷偷记录用户的隐私是不对的

  <>之前,,,,& lt; uses-permission  android: name=癮ndroid.permission.RECORD_AUDIO",/在   

第二种方式是,,ActivityCompat.requestPermissions

  <>之前,,,,,,,,如果(ContextCompat.checkSelfPermission(这一点,   ,,,,,,,,,,,,,,,Manifest.permission.RECORD_AUDIO)   ,,,,,,,,,,,,,,,,=,PackageManager.PERMISSION_GRANTED) {   ,,,,,,,,,,,ActivityCompat.requestPermissions(这一点,   ,,,,,,,,,,,,,,,,,,,new  String [] {Manifest.permission.RECORD_AUDIO}, 1);   ,,,,,,,}else  {   ,,,,,,,,,,,//执行初始化MediaRecorder的步骤   ,,,,,,,}   

  <强>第二步是执行初始化

  <>之前,private  void  initMR (), {   ,,,,,,,mediaRecorder =, new  MediaRecorder ();   ,,,,,,,mediaRecorder.setAudioSource (MediaRecorder.AudioSource.MIC);   ,,,,,,,mediaRecorder.setOutputFormat (MediaRecorder.OutputFormat.THREE_GPP);   ,,,,,,,mediaRecorder.setOutputFile (mFileName);   ,,,,,,,mediaRecorder.setAudioEncoder (MediaRecorder.AudioEncoder.AMR_NB);   ,,,}   

  

  

  

  

  

  

  

  

  <强>第三步就可以执行各种操作了

  

例如:开始录音

  <>以前Button  btStart=,(按钮),findViewById (R.id.btStartRecord);   ,,,,,,,btStart.setOnClickListener (new  View.OnClickListener (), {   ,,,,,,,,,,@Override   ,,,,,,,,,,,public  void  onClick (View  v), {   ,,,,,,,,,,,,,,,try  {   ,,,,,,,,,,,,,,,,,,,mediaRecorder.prepare ();   ,,,,,,,,,,,,,,,},catch  (IOException  e), {   ,,,,,,,,,,,,,,,,,,,Log.e (LOG_TAG,,“先生出错!“);   ,,,,,,,,,,,,,,,}   ,,,,,,,,,,,,,,,mediaRecorder.start ();   ,,,,,,,,,,,}   ,,,,,,,});   

例如:结束录音

  <>以前Button  btStop=,(按钮),findViewById (R.id.btStopRecord);   ,,,,,,,btStop.setOnClickListener (new  View.OnClickListener (), {   ,,,,,,,,,,@Override   ,,,,,,,,,,,public  void  onClick (View  v), {   ,,,,,,,,,,,,,,,mediaRecorder.stop ();   ,,,,,,,,,,,,,,,mediaRecorder.release ();   ,,,,,,,,,,,,,,,mediaRecorder =,空;   ,,,,,,,,,,,}   ,,,,,,,});   

  <强>最后需要写一下onRequestPermissionsResult

  <>以前public  void  onRequestPermissionsResult (int  requestCode, @NonNull  String[],权限,@NonNull  int [], grantResults), {   ,,,,,,,如果(requestCode==1) {   ,,,,,,,,,,,如果(grantResults.length> 0,,,, grantResults [0]==PackageManager.PERMISSION_GRANTED) {   ,,,,,,,,,,,,,,,initMR ();   ,,,,,,,,,,,其他}{   ,,,,,,,,,,,,,,,Toast.makeText(这一点,“未获得麦克风访问权限“,,Toast.LENGTH_LONG),告诉();   null   null   null   null

Android中MediaRecorder