微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > MMS – 彩信拍摄视频,几秒钟 以后就达到彩信上限,如何增大拍摄时间?

MMS – 彩信拍摄视频,几秒钟 以后就达到彩信上限,如何增大拍摄时间?

时间:10-02 整理:3721RD 点击:
[DESCRIPTION]
因为大陆的运营商针对彩信大小有限制,只能300KB,如果要增大拍摄时间就只能降低Bitrates,具体修改如下:
[SOLUTION]
Method 1:
针对如下添加用到mIsMMSVideoRecording地方的代码,针对MMS录像时将Bitrate限制到150Kbps.这个值可以调整,但尽量不要低于150kbps,否则效果难以接受。
/alps/packages/apps/CAMERA/src/com/android/camera/VideoCamera.java
privatebooleanmIsMMSVideoRecording=false;
privatevoidreadVideoPreferences(){
..........
Intentintent=getIntent();
mIsMMSVideoRecording=false;
if(intent.hasExtra(MediaStore.EXTRA_VIDEO_QUALITY)){
intextraVideoQuality=
intent.getIntExtra(MediaStore.EXTRA_VIDEO_QUALITY,0);
if(extraVideoQuality>0){
……
}else{//0ismms.
mIsMMSVideoRecording=true;
quality=CamcorderProfile.QUALITY_LOW;
}
}
.........
if(!isSupported(mProfile.videoFrameRate,supportedFrameRates)){
intmaxFrame=getMaxSupportedPreviewFrameRate(supportedFrameRates);
mProfile.videoBitRate=(mProfile.videoBitRate*maxFrame)/mProfile.videoFrameRate;
mProfile.videoFrameRate=maxFrame;
bitrateChanged=true;
}
if(mIsMMSVideoRecording)
{
if(mProfile.videoBitRate>150*1000)//MMSlimitto150Kbps
{
mProfile.videoBitRate=150*1000;
bitrateChanged=true;
}
}
if(Parameters.SCENE_MODE_NIGHT.equals(mSceneMode)){
……
}
Method 2:
修改MediaProfiles.cpp中的Bitrate,若是使用MediaTek Release的Camera APK,则下面这个参数只会给MMS使用。
php?mod=tag&id=6090" target="_blank" class="relatedlink">Frameworks/av/media/libmedia/MediaProfiles.cpp
MediaProfiles::createDefaultCamcorderQcifProfile(camcorder_quality quality)
{
MediaProfiles::VideoCodec *videoCodec =
new MediaProfiles::VideoCodec(VIDEO_ENCODER_H263, 192000, 176, 144, 20);
……
}
修改为如下,则表示Bitrate修改为150Kbps.
MediaProfiles::createDefaultCamcorderQcifProfile(camcorder_quality quality)
{
MediaProfiles::VideoCodec *videoCodec =
new MediaProfiles::VideoCodec(VIDEO_ENCODER_H263, 150000, 176, 144, 30);
……
}
注:若是因为Bitrate降低导致MMS录像的效果没法接受,可以考虑将帧率从30fps降低到20fps or 15fps,这样单张画面分配到的Bits变多而提升画质,但牺特的是流畅度。

上一篇:apk中中读写nvram
下一篇:Native层读写nvram

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top