Skip to content

更新日志

Jun edited this page Dec 19, 2024 · 19 revisions

Table of Contents

更新日志

2024年12月18日 v1.9.2

主要是2个更新

  • ✨ 1.新增方法:fun muteRecord(mute: Boolean):静音录制(默认false),开启时录制的声音是静音的,使用场景是用于和其他音视频进行拼接
有业务需求,需要和其他音视频进行合并操作,为了防止部分场景的重音问题,进行禁言,但是又需要总音频时长不变,把录音部分合并在特定的位置
同时这个方法可以解决部分手机开头的爆音问题
  • 🐎 2.优化时间计算,以前的算法存在:录制时间越长误差越大

2024年9月29日 v1.9.1

新增enableAudioEffect参数,enableAudioEffect(enable: Boolean),用于启动系统自带[如果手机支持]的AEC(声学回声消除器)、NC(噪声抑制器)、AGC(自动增益-一般没有)。

  原因是:收到反馈因为部分手机外接麦克风时,如果是MIC,会没有声音,所以默认false

2023年3月22日 v1.9.0

优化项目结构,新增PCMListener,用于处理PCM

  • ✨ 新增 PCMListener.onBeforePCMToMp3
  • 🎨 优化项目结构,抽取BaseEncodeThread
  • 🔥 移除wax方法,可自行在PCMListener.onBeforePCMToMp3进行相关操作
   override fun onBeforePCMToMp3(pcm: ShortArray): ShortArray {
        val pcmdb = LameUtils.getPCMDB(pcm, pcm.size)
        Log.d("LameUtils","修改PCM前DB:$pcmdb" )
        val adjustVoice = BytesTransUtil.adjustVoice(pcm, 3)
        val afterdb = LameUtils.getPCMDB(adjustVoice, adjustVoice.size)
        Log.d("LameUtils","修改PCM后DB:$afterdb" )
        return adjustVoice
    }

2023年3月14日 v1.8.0

  • 优化打包,修复kotlin无法查看源码的问题 /* compiled code */

2023年2月3日 v1.7.4

  • 增加可以设置默认开始计时的默认时间,用于继续录制功能,因为lame输出的MP3文件是可以直接在文件末尾继续录制
  • lame进行重新编译,支持内部错误的显示
  • `updateDataEncode`优化替换输出文件的参数控制,用于剪切等一些操作后的继续录制(都是基于lame)
  • demo更新,尝试优化了一下db计算方法,效果不明显




2022年4月29日 v1.7.2

  • 测试变音功能,初步通过变音测试
  • 优化变音的初始化,防止还没有创建录音就去修改变音的参数导致的崩溃

2021年11月10日 v1.7.0

  • 修改部分参数:channel (1,2)
  • 添加变音功能:边录边变音边转MP3,但是暂不对外支持
  • simRecorder 支持双声道
  • fix lame encode...ByByte



2021年11月1日 v1.6.6

  • 添加 annotation
  • 当录音来源是:VOICE_COMMUNICATION时,使用强制写入背景音乐

2021年9月10日 v1.6.5

  • 修复demo 没有本地音乐的崩溃
  • 增加录音线程持有,以及判断释放存活,确保不出现多线程导致意外的崩溃事件

2021年7月8日

- 新增DSL语法创建

 RecorderBuilder {
            mMaxTime = TIME
            isDebug = true
            recordListener = this@MixRecordUtils
            permissionListener = this@MixRecordUtils
}.build()

2021年6月17日V1.6.2

  • 每次录音可以进行修改声音、和来源参数,只有结束后才可以更新
  • 添加获取背景音乐的声道数的方法

2021年4月27日V1.5.0

  • 修复一个严重BUG
  * 完成和自动完成重复了

2021年4月13日V1.4.0

修改声音计算大小的方法,不知道是不是分呗,可能接近(不确定,看的网上)

  • 说话时,55-70
  • 环境声音:20-50

2020年12月15日V1.3.0

  • Fix:没有调用stop,就onDestroy 会崩溃的问题
  • 新增方法,可以设置提醒快结束的时间

2020年11月6日V1.2.4

  • 去掉一些非错误日志,如果没有大的错误,这个就不动了

2020年10月21日V1.1.0

  • 播放支持 Uri,header (同时兼容AndroidQ)

2020年9月3日V1.0.0

  • 项目进行拆解、拼装
  • 知道单独引用Mix 和Sim 录音

2020年8月12日V0.0.12

  • 添加声音控制:由系统声音更新
  • 添加耳机连接控制,进行判断是否写入声音

2020年7月24日V0.0.11

  • 有应用接我这个库,录制的效果还不错,不过存在一些未考虑场景,修一下
  • Fix :start 的时候file =null 引起的崩溃
  • Fix "因为是异步的所以存在结束后还会回调一次Recording,Fix了这问题,但是可能时长显示存在20ms的计算时间误差~

2020年3月20日V0.0.9

  • 提高录音默认的音质,目前录制文件比较大,提高声音还原度高。如果感觉文件比较大,可以修改以下小参数
 samplingRate: Int = 44100,
 mp3BitRate: Int = 128,//96(高),32(低)
  • 增加在录音前可以设置录音的参数

2020年2月13日V0.0.8

  • 优化`MP3Recorder`,添加方法`updateDataEncode`,使之中间替换输出文件
  • 上述需求背景:希望录音可以变成60秒,一段一段的文件发送出去,所有每60秒我就替换输出文件,同时把上一个60秒音频文件上传

2019年10月31日V0.0.4

  • 优化录音:单双声道 多模式录制

2019年10月31日V0.0.3

  • 优化lame转双声道PCM ,以前的方法存在噪音
 if (is2CHANNEL) {
   //双声道
    readSize = buffer.size / 2
    encodedSize = LameUtils.encodeInterleaved(buffer,readSize,mMp3Buffer)
    } else {
    readSize = buffer.size
    encodedSize = LameUtils.encode(buffer, buffer, readSize, mMp3Buffer)
 }

2019年10月19日

  • 尝试修改录制后声音的大小计算

2019年10月15日

  • fix 不设置背景音乐录制崩溃问题

2019年10月11日

  • 优化`PlayBackMusic`:加入播放状态和进度回调
  • 去掉Androidx的注解,方便不是Androidx的项目使用

2019年10月10日

  • 优化`MixRecorder`, 修改使用lame 进行边录制变转换,优化默认录制来源
  ** 因为lame边录制边转可以支持, 录制中 进行播放试听
  ** 因为背景音乐是合成进去的所有,使用VOICE_COMMUNICATION ,使用系统自带的AEC

2019年10月9号

  • 添加speex 进行去噪音,但是好像效果不佳,
  • 最后去掉了

2019年9月29日

  • 优化`MixRecorder`,支持背景音乐切换
  • 支持`播放中`或者`暂停`切换背景音乐

2019年9月28日

  • 优化`MixRecorder` 背景音乐支持循环播放

2019年8月22日

  • `Mp3Recorder`可以设置是否是继续录制功能(已完成)
setOutputFile(filePath,isContinue) 

2019年8月20日

  • `Mp3Recorder`背景音乐是通过扬声器播放出来声音录制,所有暂时只支持录制麦克风