Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> MediaRecorder簡單的使用,mediarecorder

MediaRecorder簡單的使用,mediarecorder

編輯:關於android開發

MediaRecorder簡單的使用,mediarecorder


MediaRecorder用於錄像錄音。

MediaRecorder錄像錄音必須按照API說明的調用順序依次調用,否則報錯。可能會出現無法調用start()方法或者調用start()後閃退。

MediaRecorder依賴硬件,在一個手機可以用的配置,放到一台別的手機上可能又會出現bug。

 

添加權限:

<user-permission android:name="android.permission.RECORD_AUdio"/>

<user-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<user-permission android:name="android.permission.CAMERA"/>

<user-permission android:name="android.permission.FLASHLIGHT"/>

<user-permission android:name="android.permission.MOUNT_UNMOUNT_FILRSYSTEMS"/>

<user-permission android:name="android.hardware.camera"/>

<user-permission android:name="android.hardware.camera.autofocus"/>

下面是MediaRecorder的使用:

//設置調用的攝像頭

mediarecorder.setCamera(Camera);

//指定Audio,video來源

mediarecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);

mediarecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);

// 指定CamcorderProfile(需要API Level 8以上版本)

// mMediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));

//使用CamcorderProfile做配置的話,輸出格式,音頻編碼,視頻編碼 不要寫

// 設置輸出格式和編碼格式(針對低於API Level 8版本)

mediarecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); //設置輸出格式,.THREE_GPP為3gp,.MPEG_4為mp4

mediarecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);//設置聲音編碼類型 mic

mediarecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);//設置視頻編碼類型,一般h263,h264

mediarecorder.setOutputFile("/sdcard/myVideo.3gp");

mediarecorder.setVideoSize(640,480);//設置視頻分辨率,設置錯誤調用start()時會報錯,可注釋掉在運行程序測試,有時注釋掉可以運行

//     mediarecorder.setVideoFrameRate(24);//設置視頻幀率,可省略

mediarecorder.setVideoEncodingBitRate(10*1024*1024);//提高幀頻率,錄像模糊,花屏,綠屏可寫上調試

mediarecorder.setPreviewDisplay(surfaceHolder.getSurface()); //設置視頻預覽

try {

// 准備錄制

mediarecorder.prepare();

// 開始錄制

mediarecorder.start();

} catch (IllegalStateException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

停止錄像:(按照順序調用以下方法)

surfaceview = null;

surfaceHolder = null;

if (mediarecorder != null) {

// 停止錄制

mediarecorder.stop();//先停止

mediarecorder.reset(); // 在重置mediarecorder

// 釋放資源

mediarecorder.release();//釋放mediarecorder

mediarecorder = null;

if (mCamera != null) {

mCamera.release(); //釋放攝像頭

mCamera = null;

}

}

視頻編碼格式:default,H263,H264,MPEG_4_SP

獲得視頻資源:default,CAMERA

音頻編碼格式:default,AAC,AMR_NB,AMR_WB,

獲得音頻資源:defalut,camcorder,mic,voice_call,voice_communication,voice_downlink, voice_recognition,  voice_uplink;

輸出方式:amr_nb,amr_wb,default,mpeg_4,raw_amr,three_gpp.

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved