uni-app icon indicating copy to clipboard operation
uni-app copied to clipboard

createInnerAudioContext无法播放base64音频

Open liuyang0623 opened this issue 3 years ago • 6 comments

问题描述 我这边使用腾讯云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

补充信息 [可选] [根据你的分析,出现这个问题的原因可能在哪里?]

liuyang0623 avatar Jul 15 '22 04:07 liuyang0623