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

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

Android中MediaRecorder-創(chuàng)新互聯(lián)

現(xiàn)在最火熱的計(jì)算機(jī)技術(shù)人工智能、智能識(shí)別,當(dāng)你拿起你的手機(jī)呼喚出后臺(tái)小愛(ài)同學(xué),小溪同學(xué),Siri,你說(shuō)什么他們就能工具你的話來(lái)操作手機(jī)或者回答,這就說(shuō)要Android提供的音頻采集功能:MediaRecorder

創(chuàng)新互聯(lián)建站堅(jiān)信:善待客戶,將會(huì)成為終身客戶。我們能堅(jiān)持多年,是因?yàn)槲覀円恢笨芍档眯刨?。我們從不忽悠初訪客戶,我們用心做好本職工作,不忘初心,方得始終。十余年網(wǎng)站建設(shè)經(jīng)驗(yàn)創(chuàng)新互聯(lián)建站是成都老牌網(wǎng)站營(yíng)銷服務(wù)商,為您提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、H5高端網(wǎng)站建設(shè)、網(wǎng)站制作、成都品牌網(wǎng)站建設(shè)重慶小程序開(kāi)發(fā)公司服務(wù),給眾多知名企業(yè)提供過(guò)好品質(zhì)的建站服務(wù)。

第一步須有擁有麥克風(fēng)權(quán)限

第一種方式是在AndroidManifest.xml中申請(qǐng)權(quán)限,不過(guò)未經(jīng)允許偷偷記錄用戶的隱私是不對(duì)的

    

第二種方式是, 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是設(shè)置麥克風(fēng),使用音頻來(lái)源,

setOutputFormat是設(shè)置輸出格式,

setOutputFile是設(shè)置輸出文件,

setAudioEncoder是設(shè)置音頻編碼方式

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

例如:開(kāi)始錄音

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出錯(cuò)!");
                }
                mediaRecorder.start();
            }
        });

例如:結(jié)束錄音

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,"未獲得麥克風(fēng)訪問(wèn)權(quán)限", Toast.LENGTH_LONG).show();
                finish();
            }
        }
    }

新聞標(biāo)題:Android中MediaRecorder-創(chuàng)新互聯(lián)
地址分享:http://weahome.cn/article/igihd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部