我最近开始在Tizen环境和软件开发工具包中编程,我正在尝试创建一个(三星)智能电视应用程序,它接受mp4媒体链接并以视频播放器的形式显示这些链接,问题是每当我使用html5视频标记时,应用程序需要很长时间(2-4分钟)才能加载,而且很多时间甚至根本不加载。
代码已经在JsFiddle和本地进行了测试,在那里运行得很好,但是每当我试图在Tizen项目(在三星电视模拟器中运行)的index.html中执行相同的代码时,它就会显示出我刚才解释的行为(非常慢/崩溃)。
下面是我尝试过的一些例子:
<html>
<head>
<link href="https://vjs.zencdn.net/7.5.4/video-js.css" rel="stylesheet">
</head>
<body>
<video id='my-video' class='video-js' controls preload='auto'
width='640' height='264'
poster="download.jpg" data-setup='{}'>
<source src='sample.mp4' type='video/mp4'>
<p class='vjs-no-js'>
To view this video please enable JavaScript, and consider upgrading to a web browser that
<a href='https://videojs.com/html5-video-support/' target='_blank'>supports HTML5 video</a>
</p>
</video>
<script src='https://vjs.zencdn.net/7.5.4/video.js'></script>
</body>
</html>
我也试过不使用video-js,我只试着使用video元素,但同样的结果,它有时会工作,有时不会,当它工作时,它需要很长时间才能真正加载。根据这些文档,HTML5是受支持的,他们发布的指南甚至“鼓励”使用视频标签。我也尝试过用javascript生成HTML,并试图让它像那样工作,但没有成功。
发布于 2019-05-16 20:57:21
它可能是模拟器、编解码器等的视频标签实现。我假设你不能在实际的Tizen TV设备上测试代码,所以我建议首先添加事件侦听器,看看发生了什么,然后尝试AVPlay API,我建议在你的应用程序中实现它。
<body>
<video id='video' width='700' height='400'
poster='yourPosterURI' src='yourVideoURI'
controls style='background:black'>
</video>
</body>
var videoElement = document.getElementById('video');
videoElement.addEventListener('loadeddata', function() {
console.log('Video loaded.');
});
videoElement.addEventListener('timeupdate', function() {
console.log('Current time: ' + videoElement.currentTime);
});
videoElement.addEventListener('seeked', function() {
console.log('Seek operation completed.');
videoElement.play();
});
videoElement.addEventListener('stalled', function() {
console.log('Video stalled.');
});
videoElement.addEventListener('ended', function() {
console.log('Video ended.');
});
https://stackoverflow.com/questions/56140682
复制相似问题