如何解决如何在显示之前加载视频
我有一个视频播放器组件,它在公共文件夹中存储了一系列视频。现在我一个一个地循环播放它们,当一个结束时下一个开始,但两者之间有轻微的延迟。如何在下一个视频开始播放之前加载它,以便没有过渡延迟?
import React,{ Component } from "react"
class Player extends Component {
constructor(props) {
super(props)
this.state = {
current: 0,videos: [
"/Videos/video_1.mp4","/Videos/video_2.mp4","/Videos/video_3.mp4"
]
}
}
onEnd = () => {
if (this.state.current + 1 === this.state.videos.length) {
this.setState({ current: 0 });
} else {
this.setState({ current: this.state.current + 1 });
}
}
render() {
return (
<div>
<video
src={this.state.videos[this.state.current]}
autoplay
controls
onEnded={this.onEnd}
/>
</div>
)
}
}
export default Player;
解决方法
为什么不为每个源设置每个 video
元素,而不是为一个元素切换它。
然后只留下 1 个视频元素可见,其他隐藏。
在视频元素播放完毕后,让下一个元素可见并开始播放。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。