Android(SpreadTurm) 信息添加录音附件显示错误

来源:互联网 发布:如何进行数据分析 编辑:程序博客网 时间:2024/05/18 00:35

【原因】

1. idh.code/packages/apps/Mms/src/com/android/mms/ui/MessageUtils.java 中recordSound函数定义了从MMS中录音的文件大小限制,

long sizeLimit = MmsConfig.getMaxMessageSize() - SlideshowModel.SLIDESHOW_SLOP;
所有的参数值都在packages/apps/Mms/res/xml/mms_config.xml中定义
sizeLimit为:300x1024-1024-250 = 305926 bytes


2. idh.code/packages/apps/SoundRecorder/src/com/android/soundrecorder/SoundRecorder.java 中定义了amr和3gp格式音频的编码率
    static final int BITRATE_AMR =  12800; // bits/sec
    static final int BITRATE_3GPP = 12800;


3. idh.code/packages/apps/SoundRecorder/src/com/android/soundrecorder/Recorder.java 中定义了amr和3gp格式音频的采样率。
startRecording函数:
        if (extension.equals(".amr"))
        {
            mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_WB);
            mRecorder.setAudioSamplingRate(16000);
        }
        else if (extension.equals(".3gpp"))
        {
            mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
            mRecorder.setAudioSamplingRate(44100);
            mRecorder.setAudioEncodingBitRate(128 * 1024 * 8);
        }

【修改】
用户可以自行调整SoundRecorder.java和Recorder.java中的值,使之达到一个精确值。
原创粉丝点击