为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
Android

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

课程内容:

今天学习内容有:

  • 文件模式录音播放的业务逻辑
  • 配置播放器 MediaPlayer
  • 设置声音文件
  • 设置播放监听回调
  • 配置音量、是否循环等
  • 准备播放
  • 停止播放
  • 重置播放状态

课程收获:

文件模式录音播放流程的业务逻辑

  • 配置播放器 MediaPlayer
  • 设置声音文件
  • 设置播放监听回调
  • 配置音量、是否循环等
  • 准备播放

播放代码:

	fun play() {
        if (mAudioFile != null && mIsPlaying) {
            // 设置当前播放状态
            mIsPlaying = true
            // 提交后台任务,开始播放
            mExecutorService.submit {
                doPlay(mAudioFile)
            }
        }
    }

实际播放的逻辑:

	fun doPlay(file: File) {
        // 配置播放器 MediaPlayer
        tmpMediaPlayer = MediaPlayer()
        // 设置声音文件
        tmpMediaPlayer.setDataSource(file.absolutePath)
        // 设置播放监听回调
        tmpMediaPlayer.setOnCompletionListener {
            // 播放结束

        }
        // 配置音量、是否循环等
        tmpMediaPlayer.setVolume(1f, 1f)
        tmpMediaPlayer.isLooping = false
        // 准备播放
        tmpMediaPlayer.prepare()
        tmpMediaPlayer.start()
    }

停止播放

	fun stopPlay() {
        // 重置播放状态
        mIsPlaying = false
        tmpMediaPlayer?.apply {
            this.setOnCompletionListener(null)
            this.setOnErrorListener(null)
            this.stop()
            this.reset()
            this.release()
        }
    }

图片描述

图片描述

图片描述

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消