我有一个客户端和服务器设置。我目前正在从服务器获取文件,然后将其流式传输到客户端。我已经尝试设置它,所以音频不开始播放,直到它完全加载,但我仍然得到部分音频。但是,如果我在浏览器上下载文件,所有的音频都在那里。我正在实现一个TTS应用程序,所以我不能直接预加载音频。如何强制浏览器在完整音频能够播放之前不播放?这是我目前掌握的情况
const handleAudioLoaded = () => {
console.log("Got here for the x'th time");
const audioElement = document.getElementById(
"audioplayer"
) as HTMLAudioElement;
if (audioElement) audioElement.play();
{!loading && audio && (
<ReactAudioPlayer
id="audioplayer"
src={`http://localhost:8000/audio/${audio}`}
onCanPlayThrough={handleAudioLoaded}
// onLoadedMetadata={handleAudioLoaded}
preload="auto"
controls
/>
)}
字符串
1条答案
按热度按时间xtupzzrd1#
在您的例子中,您可以使用
fetch
下载音频,然后创建一个对象URL并分配给音频播放器。字符串