腾讯ASR录音文件识别极速版
<template> <div> <input type="file" id="fileInput" /> <button @click="uploadFile()">Upload File</button> </div> </template> <script setup> import axios from 'axios' import CryptoJS from 'crypto-js' // 腾讯录音文件识别极速版 API // https://cloud.tencent.com/document/product/1093/52097#3.5-.E7.AD.BE.E5.90.8D.E7.94.9F.E6.88.90.E8.AF.B4.E6.98.8E.3Ca-id.3D.22sign.22.3E.3C.2Fa.3E function uploadFile() { const Appid = '1313203058' const SecretId = 'AKID60e2B3ez3btufAOL1QYP0KOAn9F4cuvg' const SecretKey = 'WmlTt4ybx2qNeeNp0uYv1pMdcKlwquiF' const params = { // convert_num_mode: '1', engine_type: '16k_zh', // filter_dirty: '0', // filter_modal: '0', // filter_punc: '0', // first_channel_only: '1', // hotword_id: '', SecretId, // SecretKey, // speaker_diarization: '0', timestamp: Math.round(new Date() / 1000), voice_format: 'wav' // word_info: '0' } // 对参数按字典序进行排序并拼接成签名原文 const sortedParams = Object.keys(params) .sort() .map((key) => `${key}=${params[key]}`) .join('&') const requestUrl = `asr.cloud.tencent.com/asr/flash/v1/${Appid}` const signString = `POST${requestUrl}?${sortedParams}` // 使用 HmacSHA1 进行加密并进行 Base64 编码 const hash = CryptoJS.HmacSHA1(signString, SecretKey) const signature = CryptoJS.enc.Base64.stringify(hash) console.log('签名原文:', signString) console.log('签名值:', signature) const fileInput = document.getElementById('fileInput') const file = fileInput.files[0] const url = `https://asr.cloud.tencent.com/asr/flash/v1/${Appid}` const formData = new FormData() formData.append('data', file) const headers = { Host: 'asr.cloud.tencent.com', Authorization: signature, // 'Content-Type': 'multipart/form-data' 'Content-Type': 'application/octet-stream' } const reader = new FileReader() reader.onload = (event) => { const arrayBuffer = event.target.result axios .post(url, arrayBuffer, { headers, params }) .then((response) => { console.log('成功:', response.data) }) .catch((error) => { console.error('失败:', error) }) } reader.readAsArrayBuffer(file) } </script>
分类:
JavaScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
2018-07-13 Cordova开箱注意事项
2017-07-13 ES6中对象