uni-app
uni-app copied to clipboard
createInnerAudioContext无法播放base64音频
问题描述 我这边使用腾讯云tts做语音合成,希望使用createInnerAudioContext直接播放合成结果,但是无法播放base64音频,我使用过mp3格式和wav格式都无法播放,audio标签可以正常播放
复现步骤 语音合成返回base64音频赋值给createInnerAudioContext对象的src并使用autoplay无法播放
const testRead = async (text) => {
const paramsData = {
Text: text,
SessionId: randStr(6),
Codec: 'mp3'
};
const result = await getTtsResult(paramsData);
if (result.Audio) {
audioSrc.value = result.Audio && data:audio/mp3;base64,${result.Audio}
const innerAudioContext = uni.createInnerAudioContext();
innerAudioContext.autoplay = true;
innerAudioContext.src = audioSrc.value
innerAudioContext.onPlay(() => {
console.log('play')
})
innerAudioContext.onError((res) => {
console.log(res)
})
}
}
预期结果 正常播放 实际结果 无法播放 { "errMsg": "MediaError", "errCode": -99 }
系统信息:
- 发行平台:安卓app
- 操作系统 安卓12
- HBuilderX版本 3.4.18
- uni-app版本 3.0.0
- 设备信息 redmi k40
补充信息 [可选] [根据你的分析,出现这个问题的原因可能在哪里?]