• uniapp录音功能和音频播放功能制作


    录音功能

    UniApp 中,你可以使用 uni.getRecorderManager() 方法来创建一个录音管理器实例,从而实现录音功能。

    以下是一个示例,演示了如何在 UniApp 中使用 uni.getRecorderManager() 实现录音功能:

    1. // 在需要录音的页面或组件中
    2. export default {
    3. data() {
    4. return {
    5. isRecording: false, // 是否正在录音
    6. recorderManager: null, // 录音管理器实例
    7. recordFilePath: '' // 录音文件路径
    8. }
    9. },
    10. methods: {
    11. startRecord() {
    12. this.recorderManager = uni.getRecorderManager();
    13. this.recorderManager.onStart(() => {
    14. console.log('开始录音');
    15. this.isRecording = true;
    16. });
    17. this.recorderManager.onStop(res => {
    18. console.log('停止录音', res);
    19. this.isRecording = false;
    20. this.recordFilePath = res.tempFilePath; // 录音文件路径
    21. });
    22. this.recorderManager.start({
    23. format: 'mp3' // 录音格式,可选值:aac/mp3
    24. });
    25. },
    26. stopRecord() {
    27. this.recorderManager.stop();
    28. }
    29. }
    30. }

    在上述代码中,我们定义了一个数据属性 isRecording 来表示是否正在录音,以及一个 recorderManager 变量用于存储录音管理器实例和录音文件路径recordFilePath

    通过 uni.getRecorderManager() 创建录音管理器实例,并通过 onStartonStop 方法分别监听录音开始和录音停止事件。在开始录音时,将 isRecording 设置为 true,并在停止录音时将其设置为 false。同时,在停止录音时,可以从 res.tempFilePath 中获取到录音文件的临时路径。

    通过调用 start() 方法开始录音,并可以传递一个参数对象来指定录音格式,如上述示例中的 'mp3'。另外,通过 stop() 方法可以停止录音。

    音频播放

    在UniApp中,可以使用uni.createInnerAudioContext方法创建一个内部音频上下文对象,然后通过该对象进行音频的播放。下面是一个示例代码:

    1. // 在需要播放音频的页面或组件中调用播放方法
    2. playAudio() {
    3. const audioContext = uni.createInnerAudioContext();
    4. audioContext.src = 'https://example.com/audio.mp3'; // 替换为你的音频文件地址
    5. audioContext.autoplay = true;
    6. audioContext.play();
    7. audioContext.onPlay(() => {
    8. console.log('音频播放开始');
    9. });
    10. audioContext.onError((err) => {
    11. console.error(err);
    12. });
    13. }

    在上述代码中,首先使用uni.createInnerAudioContext方法创建一个内部音频上下文对象。然后,通过给src属性赋值指定音频文件的URL,设置autoplay属性为true以自动播放。

    使用play方法启动音频的播放。同时,通过onPlay方法监听音频播放开始的事件,在回调函数中可以执行相关操作,比如更新UI状态。

    如果播放过程中出现错误,可以通过onError方法监听错误事件,并在回调函数中处理错误信息。

    需要注意的是,需要将src参数替换为你自己的音频文件地址。

    此外,还可以使用其他音频控制方法,例如pause暂停播放、stop停止播放等,以及监听相应的事件,根据实际需求进行处理。

    以上示例代码仅为简单示例,具体的实现可能会根据项目需求而有所变化。

  • 相关阅读:
    等数值计算方法学习笔记第4章第三部分【数值积分(数值微分)】
    【C++基础】观察者模式(“发布-订阅”模式)
    web前端期末大作业:JavaScript大作业——福五鼠动漫网页制作(6页)带轮播图效果 学生个人单页面网页作业 学生网页设计成品 静态HTML网页单页制作
    【C++学习笔记】1.4 函数重载
    c高级 day2
    cartographer 编译遇到 abseil的问题
    Golang 泛型定义类型的时候前面 ~ 代表什么意思
    seata案例搭建
    Selenium教程(4)操作选择框
    redis缓存预热
  • 原文地址:https://blog.csdn.net/m0_73481765/article/details/133107469