当前位置:首页 > uni-app

uniapp音频使用

2026-02-06 05:07:05uni-app

音频组件的基本使用

在UniApp中,可以使用<audio>组件或uni.createInnerAudioContext() API来实现音频播放功能。<audio>组件适合简单的音频播放需求,而API方式更适合复杂控制。

<audio src="https://example.com/audio.mp3" controls></audio>

使用uni.createInnerAudioContext()

通过JavaScript API可以更灵活地控制音频播放:

const innerAudioContext = uni.createInnerAudioContext();
innerAudioContext.src = 'https://example.com/audio.mp3';
innerAudioContext.play();

音频控制方法

  • play(): 播放音频
  • pause(): 暂停播放
  • stop(): 停止播放
  • seek(position): 跳转到指定位置(单位:秒)
innerAudioContext.pause();
innerAudioContext.seek(30); // 跳转到30秒位置

音频事件监听

可以监听多种音频事件:

innerAudioContext.onPlay(() => {
  console.log('开始播放');
});
innerAudioContext.onEnded(() => {
  console.log('播放结束');
});
innerAudioContext.onError((res) => {
  console.log(res.errMsg);
});

音频属性设置

可以设置多种音频属性:

innerAudioContext.autoplay = true;
innerAudioContext.loop = true;
innerAudioContext.volume = 0.5; // 音量范围0~1

平台差异说明

iOS平台有特殊限制:

  • 自动播放需用户交互触发
  • 音频资源需在uni.downloadFile下载后才能播放
  • 后台播放需配置manifest.json
// manifest.json
"app-plus": {
  "distribute": {
    "ios": {
      "UIBackgroundModes": ["audio"]
    }
  }
}

录音功能实现

使用uni.getRecorderManager()实现录音:

uniapp音频使用

const recorderManager = uni.getRecorderManager();
recorderManager.start({
  format: 'mp3'
});
recorderManager.stop();
recorderManager.onStop((res) => {
  console.log(res.tempFilePath);
});

标签: 音频uniapp
分享给朋友:

相关文章

uniapp中如何引用echarts

uniapp中如何引用echarts

在uniapp中引用echarts uniapp中引用echarts可以通过原生方式或第三方插件实现,以下是具体方法: 使用原生echarts 安装echarts依赖 在项目根目录下执行命令:…

uniapp 后门

uniapp 后门

关于 uniapp 后门的问题,目前没有权威证据表明 uniapp 官方存在故意植入后门的行为。但作为开发者,需注意以下安全实践: 检查第三方插件和依赖 确保项目中使用的第三方插件来源可靠,定期更新…

uniapp grid

uniapp grid

uniapp grid 布局实现方法 在 uniapp 中实现 grid 布局可以通过多种方式完成,包括使用内置组件、CSS Grid 或第三方插件。以下是几种常见的实现方法: 使用 uni-gri…

uniapp 网络封装

uniapp 网络封装

uniapp 网络请求封装方法 uniapp 提供了 uni.request 方法进行网络请求,但直接使用可能导致代码重复和维护困难。封装网络请求可以提高代码复用性和可维护性。 基础封装示例 创建一…

uniapp 图像旋转

uniapp 图像旋转

图像旋转的基本原理 在UniApp中实现图像旋转通常涉及对图像数据的处理或CSS变换。旋转可以通过修改图像的transform属性或使用Canvas API直接操作像素数据实现。 使用CSS实现图像…

uniapp 拦截db

uniapp 拦截db

uniapp 拦截数据库操作 在 uniapp 中拦截数据库操作通常涉及对 uniCloud 数据库请求的拦截或修改。以下是几种常见方法: 使用云函数中间件 在云函数中创建一个中间件层,用于拦截和…