国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

安卓使用MediaRecorder錄制音頻(聲音)

2019-11-06 09:57:19
字體:
來源:轉載
供稿:網友

效果

代碼

package com.javen.devicemange.CrazyOne.media;import android.Manifest;import android.media.MediaRecorder;import android.os.Bundle;import android.os.Environment;import android.support.annotation.Nullable;import android.support.v4.app.ActivityCompat;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Button;import android.widget.Toast;import com.javen.devicemange.R;import java.io.File;import java.io.IOException;/** * Created by Administrator on 2017/2/27 0027. * 使用MediaRecorder錄制音頻(聲音) */public class RecordSound extends AppCompatActivity implements View.OnClickListener {    PRivate Button record;    private Button stop;    private File file;    private MediaRecorder mediaRecorder;    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.recordsound);        initView();        requestPermission();    }    /**     * 申請權限     */    private void requestPermission() {        String[] needPermission = {                Manifest.permission.RECORD_AUDIO,                Manifest.permission.READ_EXTERNAL_STORAGE,                Manifest.permission.WRITE_EXTERNAL_STORAGE,        };        ActivityCompat.requestPermissions(this, needPermission, 1);    }    private void initView() {        record = (Button) findViewById(R.id.record);        stop = (Button) findViewById(R.id.stop);        record.setOnClickListener(this);        stop.setOnClickListener(this);    }    @Override    public void onClick(View v) {        switch (v.getId()) {            case R.id.record:                if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {                    Toast.makeText(this, "ad卡不存在", Toast.LENGTH_SHORT).show();                    return;                }                //創建文件                file = new File(Environment.getExternalStorageDirectory().toString() + "/sound.amr");                mediaRecorder = new MediaRecorder();                //設置錄音的聲音來源,MIC:麥克風的音頻源                mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);                //設置錄音的聲音的格式,THREE_GPP:推薦錄音的時候用3GPP(必須在設置聲音編碼格式之前設置)                mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);                //設置錄音的編碼格式                mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);                //設置錄制的音頻文件的保存位置                mediaRecorder.setOutputFile(file.getAbsolutePath());                try {                    mediaRecorder.prepare();                    //開始錄音                    mediaRecorder.start();                } catch (IOException e) {                    e.printStackTrace();                }                break;            case R.id.stop:                if (null != file && file.exists()) {                    //停止錄音                    mediaRecorder.stop();                    mediaRecorder.release();                    mediaRecorder = null;                }                break;        }    }}

布局xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"              android:layout_width="match_parent"              android:layout_height="match_parent"              android:orientation="vertical">    <Button        android:id="@+id/record"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="record"/>    <Button        android:id="@+id/stop"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="stop"/></LinearLayout>

AndroidManifest.xml

<!--授予程序錄制聲音,讀寫sd卡的權限--><uses-permission android:name="android.permission.RECORD_AUDIO"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>。。。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南康市| 确山县| 鹤岗市| 错那县| 陇川县| 姜堰市| 沙洋县| 司法| 连南| 北辰区| 金平| 偃师市| 茌平县| 土默特右旗| 团风县| 天峻县| 临澧县| 大关县| 修文县| 资阳市| 宁化县| 朝阳县| 叶城县| 全州县| 读书| 邛崃市| 会昌县| 宁国市| 密云县| 马关县| 图们市| 抚顺市| 昌乐县| 永川市| 鹤壁市| 从化市| 上高县| 柏乡县| 囊谦县| 磴口县| 恩施市|