Я пытаюсь обновить свойство src
исходного видео html5 для воспроизведения нового видео, выбранного пользователем из списка.Выбранный видеофайл хранится в переменной fileSelected
.src
меняется каждый раз, когда выбирается новое видео, но проигрыватель html5 продолжает воспроизводить старое видео.Кто-нибудь знает, где я иду не так?Вот соответствующий код:
function Videos({files,fileSelected}){
var page =null
console.log(fileSelected)
if(!fileSelected && files){
fileSelected= files[0][0]
page = <SecondPage files = {files} fileSelected={fileSelected}/>
}
else if(files && fileSelected){
page = <SecondPage files = {files} fileSelected={fileSelected}/>
}else if(!files){
page = <FirstPage files = {files} fileSelected={fileSelected}/>
}
return(page)
}
export default Videos
function FirstPage({files,fileSelected}){
return(<div> <h2> No Video Uploaded </h2></div>)
}
class SecondPage extends React.Component{
constructor(props){
super(props)
}
render(){
const {files, fileSelected}=this.props;
var src
return(
<div>
{ src = (fileSelected) ? URL.createObjectURL(fileSelected): URL.createObjectURL(files[0][0])}
<div className="ui one column centered grid">
<div className="one wide column"> {/*needs to be one wide here not just column for center to work*/}
<h3>Videos</h3>
</div>
</div>
<div className="ui grid">
<div className="ten wide column">
<video controls width="566" height="320">
<source src={src} id='video' type="video/mp4" />
Your browser does not support HTML5 video.
</video>
</div>
<div className="six wide column">
{files[1]}
</div>
</div>
</div>
)
}
}
Обратите внимание, что переменная files
содержит все видео, которые пользователь может выбрать.