我正在尝试在React中制作一个自定义音频播放器。我被困在单击按钮以充当音频源的播放/暂停按钮。我认为可以做到这一点的一种方法是使用条件渲染,在该条件下可以渲染HTML音频标签。但是,当我这样做时,音频似乎无法播放。
起初,我以为音频源无法正常工作,但是当我使用“ controls”属性渲染音频标签并像这样播放音频时,它就可以正常播放(但是音频不能立即播放,花了一些时间来缓冲)。
然后我以为也许只是音频没有播放,所以我在音频标签上添加了“自动播放”属性,但这也不起作用。
然后我考虑了“ preload”属性,但添加该属性也无法解决我的问题。
{this.state.isPlaying === true ? <audio autoplay src="http://166.62.119.4:8000/stream" preload="auto"></audio> : <p>not playing</p>
使用所有其他指定的属性,我认为音频会在后台加载,并可以自动播放,但是事实并非如此。
我怀疑因为这是一个在线流/音频源,所以需要一些时间来缓冲,这就是为什么自动播放最初不起作用,并且预加载也不起作用的原因。我考虑过的一种可能方法是在等待特定时间后播放音频,但是我认为这太笨拙/反应迟钝。