如何在 html 中设置视频源?
How can I set video source in html?
我需要一种方法让用户 select 本地视频文件作为我的 html 视频元素的来源。
设置源似乎不起作用,因为我无法从标准 javascript 文件对话框访问完整路径。
我尝试了以下方法:
//THE VIDEO ELEMENT
<video id="video1" muted>
<source src="" type="video/mp4" />
</video>
//THE DIALOG BUTTON TO SET VIDEO SOURCE
<input type='file' onchange="readURL(this);" />
<script>
var video = document.getElementById("video1");
function readURL(input) {
//THE METHOD THAT SHOULD SET THE VIDEO SOURCE
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
video.src = input.files[0]
};
}
}
</script>
如何创建允许 select 并将本地视频文件上传到 HTML5 视频元素的按钮?
我做了一些更改,工作正常!我在 Chrome 和 Firefox 中测试过。
//THE VIDEO ELEMENT
<video id="video1" muted>
<source src="" type="video/mp4" />
</video>
//THE DIALOG BUTTON TO SET VIDEO SOURCE
<input id="file" type='file' onchange="readURL(this);" />
<script>
var video = document.getElementById("video1");
function readURL(input) {
//THE METHOD THAT SHOULD SET THE VIDEO SOURCE
if (input.files && input.files[0]) {
var file = input.files[0];
var url = URL.createObjectURL(file);
console.log(url);
var reader = new FileReader();
reader.onload = function() {
video.src = url;
video.play();
}
reader.readAsDataURL(file);
}
}
</script>
对于我自己,我在 分离的 js 和 html 文件 中解决了它,如下所示:
html:<input id="file" type='file'/>
javascript:
document.getElementById('file').onchange = function(){
console.log('test');
readURL(this);
}
function readURL(input) {
//THE METHOD THAT SHOULD SET THE VIDEO SOURCE
if (input.files && input.files[0]) {
var file = input.files[0];
var url = URL.createObjectURL(file);
console.log(url);
var video = document.getElementById("video1");
var reader = new FileReader();
reader.onload = function() {
video.src = url;
video.play();
}
reader.readAsDataURL(file);
}
}
我需要一种方法让用户 select 本地视频文件作为我的 html 视频元素的来源。
设置源似乎不起作用,因为我无法从标准 javascript 文件对话框访问完整路径。
我尝试了以下方法:
//THE VIDEO ELEMENT
<video id="video1" muted>
<source src="" type="video/mp4" />
</video>
//THE DIALOG BUTTON TO SET VIDEO SOURCE
<input type='file' onchange="readURL(this);" />
<script>
var video = document.getElementById("video1");
function readURL(input) {
//THE METHOD THAT SHOULD SET THE VIDEO SOURCE
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
video.src = input.files[0]
};
}
}
</script>
如何创建允许 select 并将本地视频文件上传到 HTML5 视频元素的按钮?
我做了一些更改,工作正常!我在 Chrome 和 Firefox 中测试过。
//THE VIDEO ELEMENT
<video id="video1" muted>
<source src="" type="video/mp4" />
</video>
//THE DIALOG BUTTON TO SET VIDEO SOURCE
<input id="file" type='file' onchange="readURL(this);" />
<script>
var video = document.getElementById("video1");
function readURL(input) {
//THE METHOD THAT SHOULD SET THE VIDEO SOURCE
if (input.files && input.files[0]) {
var file = input.files[0];
var url = URL.createObjectURL(file);
console.log(url);
var reader = new FileReader();
reader.onload = function() {
video.src = url;
video.play();
}
reader.readAsDataURL(file);
}
}
</script>
对于我自己,我在 分离的 js 和 html 文件 中解决了它,如下所示:
html:<input id="file" type='file'/>
javascript:
document.getElementById('file').onchange = function(){
console.log('test');
readURL(this);
}
function readURL(input) {
//THE METHOD THAT SHOULD SET THE VIDEO SOURCE
if (input.files && input.files[0]) {
var file = input.files[0];
var url = URL.createObjectURL(file);
console.log(url);
var video = document.getElementById("video1");
var reader = new FileReader();
reader.onload = function() {
video.src = url;
video.play();
}
reader.readAsDataURL(file);
}
}