uni-app如何获取用户的本机录音文件,并展示在页面中?

时间: 2024-03-09 21:48:35 浏览: 17
要获取用户本机的录音文件并展示在页面中,您可以使用uni-app提供的文件API进行文件读取和展示。以下是一个简单的示例代码: ```javascript <template> <div class="container"> <div class="header">录音列表</div> <div class="list"> <div v-for="(item, index) in fileList" :key="index" class="item" @click="playAudio(item.path)"> <div class="name">{{ item.name }}</div> <div class="duration">{{ item.duration }}s</div> </div> </div> </div> </template> <script> export default { data() { return { fileList: [] // 录音文件列表 }; }, mounted() { // 获取录音文件列表 this.getRecordList(); }, methods: { // 获取录音文件列表 getRecordList() { uni.getSavedFileList({ success: (res) => { console.log('获取录音文件列表成功', res); this.fileList = res.fileList.filter((item) => { return item.filePath.indexOf('.silk') > -1; // 过滤出silk格式的录音文件 }).map((item) => { return { name: item.filePath.substring(item.filePath.lastIndexOf('/') + 1, item.filePath.lastIndexOf('.silk')), path: item.filePath, duration: Math.ceil(item.size / 1024 / 8) // 粗略计算录音时长 }; }); }, fail: (err) => { console.error('获取录音文件列表失败', err); } }); }, // 播放录音 playAudio(path) { uni.playVoice({ filePath: path, success: () => { console.log('播放录音成功'); }, fail: (err) => { console.error('播放录音失败', err); } }); } } }; </script> <style> .container { display: flex; flex-direction: column; height: 100vh; } .header { height: 44px; line-height: 44px; text-align: center; font-size: 16px; color: #333; } .list { flex: 1; overflow: auto; } .item { display: flex; align-items: center; justify-content: space-between; height: 44px; padding: 0 16px; background-color: #fff; border-bottom: 1px solid #e5e5e5; font-size: 14px; color: #666; } .name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .duration { margin-left: 12px; } </style> ``` 以上代码会获取用户设备本地保存的录音文件列表,并展示在页面中,用户可以点击录音文件进行播放。需要注意的是,用户在录音时需要授权uni-app使用麦克风,并且需要过滤出指定格式的录音文件进行展示。

相关推荐

最新推荐

recommend-type

uni-app 打包为 H5 并上传服务器

我主要是用 uni-app 来写安卓端,近日需要将程序打包为 H5 放到 web服务器 上,经过一番折腾。 配置 在开始之前,推荐你先【拷贝】一份代码,防止打包出现问题导致代码受损。 在你的项目文件中找到 manifest.json ,...
recommend-type

uni-app:从运行原理上面解决性能优化问题

Uni-App,从了解到开发,相信大家都会觉得Uni-App性能不好,其实也这是非原生的弊病。React Native、Flutter等,非原生框架,性能上都会或多或少的折损。但各个框架,都会做出性能提升建议,所以开发者在开发前,多...
recommend-type

uni-app项目本地离线android打包步骤

uni-app很好,但按照官方的android离线打包指导并不容易很顺利完成离线打包 结合官方文档,经过反复试验、百度总算打包成功 为此特整理成word,按自己认为合适的方式把打包步骤写出来,文档中有大量截屏,免得文字...
recommend-type

uni-app从安装到卸载的入门教程

uni-app实现了一套代码,同时运行到多个平台。支持iOS模拟器、Android模拟器、H5、微信开发者工具、支付宝小程序Studio、百度开发者工具、字节跳动开发者工具 工具安装 开发uni-app需要安装HBuilder X.下载地址。 ...
recommend-type

uni-app中使用sqlite对本地缓存下数据进行处理

1.App配置权限配置选中SQLite 2.自定义调试基座 1.简单操作页面 判断数据库是否打开 打开数据库 关闭数据库 创建表 删除表 执行事务 新增数据 批量新增数据 删除所有数据 查询数据 2.模拟...
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

SPDK_NVMF_DISCOVERY_NQN是什么 有什么作用

SPDK_NVMF_DISCOVERY_NQN 是 SPDK (Storage Performance Development Kit) 中用于查询 NVMf (Non-Volatile Memory express over Fabrics) 存储设备名称的协议。NVMf 是一种基于网络的存储协议,可用于连接远程非易失性内存存储器。 SPDK_NVMF_DISCOVERY_NQN 的作用是让存储应用程序能够通过 SPDK 查询 NVMf 存储设备的名称,以便能够访问这些存储设备。通过查询 NVMf 存储设备名称,存储应用程序可以获取必要的信息,例如存储设备的IP地址、端口号、名称等,以便能
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。