亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【學習打卡】第4天 即時通訊項目里面的語音處理-基礎實現篇

標簽:
Android

课程名称:即时通讯项目里面的语音处理-基础实现篇
课程章节:2-2 Android-文件模式声音录制功能实现下
主讲老师:Piasy

课程内容:

今天学习内容有:

  • 启动录音的逻辑
  • 错误提醒的逻辑
  • 结束录音的逻辑

课程收获:

  • 启动录音逻辑
private fun doStartRecord(): Boolean {
        return try {
            // 创建录音文件
            mAudioFile =
                File("${Environment.DIRECTORY_DOWNLOADS}/iMookDemo/${System.currentTimeMillis()}.m4a")
            mAudioFile.parentFile?.mkdir()
            mAudioFile.createNewFile()
            println(mAudioFile.absolutePath)
            // 配置MediaRecorder
            mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC)    // 从麦克风采集
            mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4)
            mMediaRecorder.setAudioSamplingRate(44100)  // "所有安卓系统都支持的采样频率"
            mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC)
            mMediaRecorder.setAudioEncodingBitRate(96000)       // 音质较好的频率
            mMediaRecorder.setOutputFile(mAudioFile.absolutePath)
            // 开始录音
            mMediaRecorder.prepare()
            mMediaRecorder.start()
            // 记录开始录音的时间,用于统计录音时长
            lStartRecordTime = System.currentTimeMillis()
            true
        } catch (e: Exception) {
            false
        }
    }
  • 结束录音逻辑
private fun doStopRecord(): Boolean {
        return try {
            // 停止录音
            mMediaRecorder.stop()
            // 记录停止时间
            val recordTime = System.currentTimeMillis() - lStartRecordTime
            val recordLength = recordTime / 1000
            // 只接受超过3秒的录音,在UI上显示出来
            if (recordLength > 3) {
                uiThread {
                    viewBinding.tvStatus.text = "录音成功 ${recordLength}秒"
                }
                return true
            } else {
                uiThread {
                    Toast.makeText(this@MainActivity, "录音小于3秒不记录", Toast.LENGTH_SHORT).show()
                }
                return false
            }
        } catch (e: Exception) {
            false
        }
    }

图片描述

图片描述

图片描述

图片描述

图片描述

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消