Я сделал маленький медиаплеер с html и javascript. Медиаплеер показывает видео и изображения. Первое видео показывает хорошо, но когда показываются следующие видео, затем в течение нано секунды показывается первое видео, а затем воспроизводится следующее видео. Такое ощущение, что видео тег находится на странице, но нет, это не так. Я удаляю это правильно. Похоже, что видео находится в памяти браузера и показывается перед следующим видео.
Это класс, в котором я сделал элемент видео.
class VideoContainer {
constructor(_videoSource) {
this.videoSource = _videoSource;
}
displayVideo(callBack) {
var videoPlayer = document.createElement("VIDEO");
videoPlayer.src = this.videoSource;
videoPlayer.autoplay = true;
videoPlayer.muted = true;
videoPlayer.setAttribute("width", "640");
videoPlayer.setAttribute("height", "360");
videoPlayer.addEventListener(
"ended",
function() {
videoPlayer.pause();
videoPlayer.src = "";
videoPlayer.removeAttribute("src");
// videoPlayer.load();
videoPlayer.pause();
//videoPlayer.hide();
let docRoot = document.getElementById("root");
docRoot.removeChild(videoPlayer);
videoPlayer.remove();
let v = document.querySelector("VIDEO");
//console.log("Vin",v);
callBack();
},
false
);
videoPlayer.addEventListener("loadeddata", function() {
document.getElementById("root").appendChild(videoPlayer);
});
}
}
и вот как я называю класс объект.
var videoPlayer = new VideoContainer(fileLocation);
videoPlayer.displayVideo(endWheelMedia);