真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

Android中MediaRecorder

現在最火熱的計算機技術人工智能、智能識別,當你拿起你的手機呼喚出后臺小愛同學,小溪同學,Siri,你說什么他們就能工具你的話來操作手機或者回答,這就說要Android提供的音頻采集功能:MediaRecorder

成都創(chuàng)新互聯公司是一家專業(yè)提供新城企業(yè)網站建設,專注與成都網站設計、做網站、H5開發(fā)、小程序制作等業(yè)務。10年已為新城眾多企業(yè)、政府機構等服務。創(chuàng)新互聯專業(yè)的建站公司優(yōu)惠進行中。

第一步須有擁有麥克風權限

第一種方式是在AndroidManifest.xml中申請權限,不過未經允許偷偷記錄用戶的隱私是不對的

    

第二種方式是, ActivityCompat.requestPermissions

        if(ContextCompat.checkSelfPermission(this,
                Manifest.permission.RECORD_AUDIO)
                != PackageManager.PERMISSION_GRANTED){
            ActivityCompat.requestPermissions(this,
                    new String[]{Manifest.permission.RECORD_AUDIO},1);
        }else {
            //執(zhí)行初始化MediaRecorder的步驟
        }

第二步是執(zhí)行初始化

 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);
    }

setAudioSource是設置麥克風,使用音頻來源,

setOutputFormat是設置輸出格式,

setOutputFile是設置輸出文件,

setAudioEncoder是設置音頻編碼方式

第三步就可以執(zhí)行各種操作了

例如:開始錄音

Button btStart= (Button) 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, "MR出錯!");
                }
                mediaRecorder.start();
            }
        });

例如:結束錄音

Button btStop= (Button) findViewById(R.id.btStopRecord);
        btStop.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mediaRecorder.stop();
                mediaRecorder.release();
                mediaRecorder = null;
            }
        });

最后需要寫一下onRequestPermissionsResult

public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        if(requestCode==1){
            if(grantResults.length>0 && grantResults[0]==PackageManager.PERMISSION_GRANTED){
                initMR();
            }else{
                Toast.makeText(this,"未獲得麥克風訪問權限", Toast.LENGTH_LONG).show();
                finish();
            }
        }
    }

新聞標題:Android中MediaRecorder
瀏覽路徑:http://weahome.cn/article/ijdscg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部