dcloudio / dcloudio/uni-app

createInnerAudioContext无法播放base64音频

Open
#3,702 6 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
41.6k
Forks
3.7k
Avg merge
7h 6m
Merged PRs (30d)
6

Description

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

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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.