【发布时间】:2019-05-11 14:40:03
【问题描述】:
我使用 RecordRTC 来录制音频并将其发送到语音到文本 API。
不知何故,除了使用 Safari IOS 之外,一切都运行良好。
在使用 Safari IOS 时,我正在检索为 base64 字符串的录音,
以某种方式从记录器对象返回为空。
之前提出的有关它的问题已回答以使用另一个库,
但是 RecordRTC 的文档明确表示它完全支持 Safari IOS。
您能帮我找出问题并找到解决方法吗?
我的代码:
async initMic() {
let stream = await navigator.mediaDevices.getUserMedia({video: false, audio: true});
mic = new RecordRTCPromisesHandler(stream, {
type: 'audio',
mimeType: 'audio/wav',
recorderType: RecordRTC.StereoAudioRecorder,
sampleRate: 48000,
numberOfAudioChannels: 1,
});
},
async sendRecording() {
let vm = this;
mic.stopRecording(function() {
mic.getDataURL(function(dataURL) {
vm.$store.dispatch('UpdateAudioBase64', dataURL.replace('data:audio/wav;base64,', ''));
mic.reset();
vm.$emit('send-recording');
});
});
},
** 字符串 'replace' 函数用于删除 base64 标头
在将其发送到语音到文本 API(API 的需要)之前。
谢谢!
【问题讨论】:
标签: javascript ios safari recordrtc