客製化一個錄像size是18:9 1280*640
此客製化只適合國內不需要測試GMS 標準的手機,出口國外的手機一律進行GMS認證,這不否和GMS標準
1、android架構圖流程,主要這四層,任何改動基於此框架
app -framework-hal-driver
2、hal 層 setting文件裏面,配置支持的18:9 1280*640的錄像 size
3、media_profiles.xml 和media_profiles_turnkey.xml
注意:media_profile.xml 添加正常錄像/慢錄/快錄 必須和framework層的改動一致
<EncoderProfile quality="1280640P" fileFormat="mp4" duration="30">//720P 與
<Video codec="h264"
bitRate="12000000"
width="1280"
height="640"
frameRate="30" />
<Audio codec="aac"
bitRate="96000"
sampleRate="48000"
channels="1" />
</EncoderProfile>
4、framework C++
路徑:/frameworks/av/media/libmedia/include/media/MediaProfiles.h
CAMCORDER_QUALITY_1280640P = 12,
CAMCORDER_QUALITY_TIME_LAPSE_1280640P = 1012,
CAMCORDER_QUALITY_HIGH_SPEED_1280640P = 2012,
路徑:/frameworks/av/media/libmedia/MediaProfiles.cpp
const MediaProfiles::NameToTagMap MediaProfiles::sCamcorderQualityNameMap[] = {
{"1280640P", CAMCORDER_QUALITY_1280640
//這裏的改動與 xml文件 <EncoderProfile quality="1280640P" fileFormat="mp4" duration="30">保持一樣
{"timelapse1280640P", CAMCORDER_QUALITY_TIME_LAPSE_1280640P},
{"highspeed1280640P", CAMCORDER_QUALITY_HIGH_SPEED_1280640P},
}
5、framework JAVA
路徑:/frameworks/base/media/java/android/media/CamcorderProfile.java
public static final int QUALITY_1280640P = 12
private static final int QUALITY_LIST_END = QUALITY_1280640P;
public static final int QUALITY_TIME_LAPSE_1280640P = 1012;
private static final int QUALITY_TIME_LAPSE_LIST_END = QUALITY_TIME_LAPSE_1280640P;
public static final int QUALITY_HIGH_SPEED_1280640P = 2012;
private static final int QUALITY_HIGH_SPEED_LIST_END = UALITY_HIGH_SPEED_1280640P;