手记

【学习打卡】第7天 即时通讯项目里面的语音处理-基础实现篇

课程名称:即时通讯项目里面的语音处理-基础实现篇
课程章节:2-5 Android-录音过程多线程处理
主讲老师:Piasy

课程内容:

今天学习内容有:

  • 涉及哪些多线程问题
  • 错误提醒的逻辑
  • 结束录音的逻辑

课程收获:

涉及哪些多线程问题

  • 防止阻塞线程,提高APP的响应能力

· 主线程16ms执行限制,不能执行I/O等耗时操作
· 模拟器:文件模式开启录音要20到30ms,停止录音耗时30到50ms
· 字节流模式下需要循环读写数据,只能放在后台线程

  • 主线程和后台线程状态同步

· 后台线程在循环中读取状态值,主线程改变状态值让后台线程退出
· 不需要synchronized互斥访问
· 需要volatile保证主线程的修改后台线程可见

  • 录音JNI函数不能多线程调用,避免闪退

· MediaRecorder: prepare(),start(),stop(),reset(),release()等
` AudioRecorder:startRecording(),read(),stop(),release()等

其他:

这里涉及的多线程的知识与kotlin中的不太一样,过几天打卡完课程以后会整理一下项目代码,用kotlin实现。

0人推荐
随时随地看视频
慕课网APP