当前位置: 首页 > news >正文

通辽网站公司网站设计空间

通辽网站公司,网站设计空间,阿里巴巴运营技巧和方法,php音乐网站设计系列文章目录 【ArkTS】关于ForEach的第三个参数键值 【ArkTS】“一篇带你读懂ForEach和LazyForEach” 【小白拓展】 【ArkTS】“一篇带你掌握TaskPool与Worker两种多线程并发方案” 【ArkTS】 一篇带你掌握“语音转文字技术” --内附详细代码 【ArkTS】技能提高–“用户授权”…

系列文章目录

【ArkTS】关于ForEach的第三个参数键值
【ArkTS】“一篇带你读懂ForEach和LazyForEach” 【小白拓展】
【ArkTS】“一篇带你掌握TaskPool与Worker两种多线程并发方案”
【ArkTS】 一篇带你掌握“语音转文字技术” --内附详细代码
【ArkTS】技能提高–“用户授权”跳转设置页的两种方式详解


文章目录

  • 系列文章目录
  • 一、录音授权
  • 二、使用 AvRecorder 录音
    • 1.创建一个文件, 准备用来存储音频数据
    • 2.参考官网, cv配置
    • 3.创建录音实例对象
    • 4.开始准备状态 💥💥 注意些await
    • 5.整合开始录制代码
    • 6.停止录制代码
  • 总结


一、录音授权

目标:使用权限请求工具,在录音页面实现请求权限,无权限不可进入
录音授权有在别的文章里详解过,大家可以点下面两个链接看一下。我们这里就直接放封装好的代码。
【鸿蒙开发】超全面解读 带你充分掌握—“向用户申请授权”

import { promptAction, router } from '@kit.ArkUI'
import { abilityAccessCtrl, Permissions } from '@kit.AbilityKit'class permission{confirmConfig: promptAction.ShowDialogOptions = {title: "温馨提示",message: "未授权使用麦克风将无法使用该面试录音功能,是否前往设置进行授权?",buttons: [{ text: '离开', color: '#ffaeabab' },{ text: '去授权', color: '#000000' }]}/** 请求权限 */async getPermission(permissions:Permissions[]) {//   . requestPermissionsFromUser()const mgr = abilityAccessCtrl.createAtManager()const ctx = getContext(this)const res = await mgr.requestPermissionsFromUser(ctx, permissions)if (res.authResults[0] === abilityAccessCtrl.GrantStatus.PERMISSION_GRANTED) {return}// 第一次没有授权const res2 = await promptAction.showDialog(this.confirmConfig)// 用户选了离开, 没有选二次授权if (res2.index === 0) {router.back()return}//拉起授权页const res3 = await mgr.requestPermissionOnSetting(ctx, permissions)if (res3[0] === abilityAccessCtrl.GrantStatus.PERMISSION_DENIED) {router.back()}}
}export const Permission=new permission()

效果示例图:
在这里插入图片描述

二、使用 AvRecorder 录音

目标:使用 AvRecorder 实现音频录制存储到应用沙箱

在这里插入图片描述

实现步骤:

在这里插入图片描述

1.创建一个文件, 准备用来存储音频数据

 // 1. 创建一个文件, 准备用来存储音频数据const context = getContext(this)const filePath = `${context.filesDir}/${Date.now()}.m4a`this.file = fileIo.openSync(filePath, fileIo.OpenMode.CREATE | fileIo.OpenMode.READ_WRITE)

2.参考官网, cv配置

开发步骤及注意事项

let avProfile: media.AVRecorderProfile = {audioBitrate: 100000, // 音频比特率audioChannels: 2, // 音频声道数audioCodec: media.CodecMimeType.AUDIO_AAC, // 音频编码格式,当前支持ACC,MP3,G711MUaudioSampleRate: 48000, // 音频采样率fileFormat: media.ContainerFormatType.CFT_MPEG_4A, // 封装格式,当前支持MP4,M4A,MP3,WAV}let avConfig: media.AVRecorderConfig = {audioSourceType: media.AudioSourceType.AUDIO_SOURCE_TYPE_MIC, // 音频输入源,这里设置为麦克风profile: avProfile,//改为自己的文件url: 'fd://' + this.file.fd, // 参考应用文件访问与管理中的开发示例获取创建的音频文件fd填入此处}

3.创建录音实例对象

this.record = await media.createAVRecorder()

4.开始准备状态 💥💥 注意些await

 	await this.record.prepare(avConfig)this.record.start()

5.整合开始录制代码

async startRecord() {// 1. 创建一个文件, 准备用来存储音频数据const context = getContext(this)const filePath = `${context.filesDir}/${Date.now()}.m4a`this.file = fileIo.openSync(filePath, fileIo.OpenMode.CREATE | fileIo.OpenMode.READ_WRITE)// 2. 参考官网,  cv配置let avProfile: media.AVRecorderProfile = {audioBitrate: 100000, // 音频比特率audioChannels: 2, // 音频声道数audioCodec: media.CodecMimeType.AUDIO_AAC, // 音频编码格式,当前支持ACC,MP3,G711MUaudioSampleRate: 48000, // 音频采样率fileFormat: media.ContainerFormatType.CFT_MPEG_4A, // 封装格式,当前支持MP4,M4A,MP3,WAV}let avConfig: media.AVRecorderConfig = {audioSourceType: media.AudioSourceType.AUDIO_SOURCE_TYPE_MIC, // 音频输入源,这里设置为麦克风profile: avProfile,// 3. 改为自己的文件url: 'fd://' + this.file.fd, // 参考应用文件访问与管理中的开发示例获取创建的音频文件fd填入此处}// 4. 创建录音实例对象this.record = await media.createAVRecorder()// 5. 开始准备状态  💥💥 注意些awaitawait this.record.prepare(avConfig)this.record.start()}

6.停止录制代码

 async stopRecord() {await this.record?.stop()// 销毁实例await this.record?.release();fileIo.closeSync(this.file?.fd)promptAction.showToast({ message: '音频录制成功' })}

总结

以上就是录音机部分代码,明日更新完整版

http://www.yayakq.cn/news/614495/

相关文章:

  • 用wordpress做企业网站wordpress $limit
  • 购物网站两化融合建设项目报告成立公司注册资金
  • 山西城乡与住房建设厅网站成品网站w灬源码16伊园
  • 网站建设与管理期末北京页面设计制作
  • 一个网站一个月发多少外链比较合适做面包有关电影网站
  • asp做网站 的pdf教程网站优化工具升上去
  • 唯品会网站建设 分析报告技术支持-鼎维重庆网站建设专家
  • 网站建设设计设计重庆用百度还是高德地图
  • 成都建站提供商网页设计的发展前景如何
  • 安逸花借款app下载安装seo免费教程
  • 网站域名备案和icp备案一样么佛山网站定制
  • 苏州学网站建设广告营销策略分析
  • 网站权重怎么查询哪里有专业做网站的
  • 秦皇岛市城乡建设局网站个人网站备案所需材料
  • 彩票网站建设安全度浙江信息网查询系统
  • 成都专业网站设计好公司网络营销平台的主要功能
  • 挂别人公司做网站可以吗做网站需不需要云数据库
  • 前端开发主要工作内容网站优化公司怎么选
  • 佛山建设小学官方网站磁力吧
  • 公司网站建设价格标准有道翻译网站 做翻译
  • 25亿企业网站管理系统团队架构
  • 高端网站设计开发谷歌商店paypal下载官网
  • 那个可以做棋牌网站wordpress 表单留言
  • 哈尔滨网站建设招聘免费做国际网站有哪些
  • 网站汉英结合的怎么做三网合一网站建设计划
  • 做3d效果图的网站wordpress 快递查询 插件
  • 网站建设开发图片广州天河区房价
  • 网站的风格对比信息表网站运营需要哪些资质
  • 推广seo网站抖音seo优化系统招商
  • 四川冠辰网站建设西安小程序开发公司有哪些