有谁知道如何使文本到音频 API 也适用于 IOS。 它在 Android 和 Windows 上运行良好,但不适用于 IOS/Mac。
const playAudio = async () => {
if (props.currentA !== props.key) {
props.setCurrentA(props.key);
setLoading(true);
const audio = await convertTextToVoice(props.text);
let audioSrc;
audioSrc = `data:audio/mp3;base64,${audio}`;
setAudio(audioSrc);
setLoading(false);
setPlaying(true);
}
};
有什么方法可以检查设备类型并使用 IOS 的 mp3 替代品
我面对这个问题已经有一段时间了,解决方案非常简单。 Mp3 api 不适用于 IOS。所以我们必须使用wave。 但为此我们必须首先检查设备类型,然后相应地使用 API,所以这就是我所做的:
const playAudio = async () => {
if (props.currentA !== props.key) {
props.setCurrentA(props.key);
setLoading(true);
const audio = await convertTextToVoice(props.text);
let audioSrc;
const userAgent = navigator.userAgent;
if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) {
// Convert audio to WAV format for iOS
const wavAudio = convertToWav(audio);
audioSrc = `data:audio/wav;base64,${wavAudio}`;
} else {
// Use MP3 format for Android and other platforms
audioSrc = `data:audio/mp3;base64,${audio}`;
}
setAudio(audioSrc);
setLoading(false);
setPlaying(true);
}
};