MediaRecorder的幾個常見坑

2021-07-25 23:24:14 字數 1554 閱讀 1508

private void initrecord() throws ioexception  catch (illegalstateexception e)  catch (runtimeexception e)  catch (exception e) 

}

原因:設定的寬高數值必須要和攝像頭支援的數值相匹配,否則報錯

解決方法:

①把setvideosize和setvideoframerate放到設定編碼和格式的**後面(親測可行)

②不行就把setvideosize和setvideoframerate注釋掉

原因:開始錄影的時候,已經了開啟錄音,搶用麥克風了。

解決方法:把setaudiosource(audiosource.mic);換成setaudiosource(audiosource.default)

解決方法:

①把setvideosize和setvideoframerate放到設定編碼和格式的**後面(親測可行)

②不行就把setvideosize和setvideoframerate注釋掉

原因:

解決方法:

①如果**中設定了setprofile,就把setprofile設定去掉

( // mmediarecorder.setprofile(cprofile);

貼乙份可以在android6.0上跑的**(被注釋的**可以無視):

private void initrecord() throws ioexception  catch (exception e) 

try catch (illegalstateexception e) catch (runtimeexception e) catch (exception e)

}

1、編碼格式設定

1) mp4

mmediarecorder.setaudioencoder(audioencoder.amr_nb);// 音訊格式

2) 3gp

mmediarecorder.setoutputformat(mediarecorder.outputformat

mmediarecorder.setaudioencoder(mediarecorder.audioencoder

.default);// 音訊格式

mmediarecorder.setvideoencoder(mediarecorder.videoencoder

// 所說越大清晰度最高(但是我自己測試5

*1024

*1024是最清晰的)

mmediarecorder.setvideoencodingbitrate(5

*1024

*1024);

mmediarecorder.setvideosize(240,320);

mmediarecorder.setvideoframerate(20);

MediaRecorder之音訊錄製

一 前言 在前面已經介紹過使用 mediarecorder,接下來就是看看音訊錄製的過程。二 音訊錄製 音訊錄製步驟如下 1 建立mediarecorder物件例項,可以通過預設的構造方法進行建立 2 設定音訊 編碼格式 編碼位率 取樣率等,分別通過 1 獲取的例項呼叫如下方法進行設定setaudi...

如何使用 MediaRecorder錄製聲音?

先對聲音錄製有個大致的了解,需要設定聲音資料的 輸出編碼方式 輸出檔案路徑 輸出檔案格式等。有一點需要說明的是 輸出檔案格式就相當於乙個容器,具體採用什麼編碼需要指定編碼格式。編碼一樣可能輸出格式不一樣,輸出格式一樣其編碼方式可能不一樣。錄製音訊主要片段如下 mediarecorder mrec f...

使用MediaRecorder清晰度問題

mmediarecorder new mediarecorder mmediarecorder.reset if mcamera null mmediarecorder.setcamera mcamera mmediarecorder.setonerrorlistener this mmediare...