基本上我需要使用 dash.js 从给定的持续时间开始播放我的 .mpd 文件
我可以在浏览器中使用 dash.js 从头到尾正确播放我的 .mpd 文件。但是,当我想从以秒为单位指定的特定持续时间播放它时,它会请求 .m4s 文件并导致服务器出现 404 错误。下面是JS代码-
var video = document.getElementById('video-' + layerId);
var player = dashjs.MediaPlayer().create();
player.initialize(video, videoUrl, true);
player.on(dashjs.MediaPlayer.events.STREAM_INITIALIZED, function() {
video.currentTime = 88; //
});
控制台出错 -
XHRLoader.js:102 - 获取 http://localhost:5000/videos/m4d/video_dash33.m4s 404(未找到)
XHRLoader.js:102 - 获取http://localhost:5000/videos/m4d/video_dash34.m4s 404(未找到) XHRLoader.js:102 - 获取 http://localhost:5000/videos/m4d/video_dash35.m4s 404(未找到)
如果我评论我的倒数第二行,
// video.currentTime = 88;
然后整个视频从头到尾都能正常播放。但我需要视频从特定时间(例如 88 秒)开始。我该怎么办?
如果您先听
PLAYBACK_TIME_UPDATED
而不是STREAM_INITIALIZED
,它会起作用吗?PLAYBACK_TIME_UPDATED
才知道。
尝试一下:
var video = document.getElementById('video-' + layerId);
var player = dashjs.MediaPlayer().create();
player.initialize(video, videoUrl, true);
var is_first_play = true; //## to turn the custom seek on/off
player.on(dashjs.MediaPlayer.events.PLAYBACK_TIME_UPDATED, function()
{
if( is_first_play == true )
{
video.currentTime = 88; //## test custom seeking on first time update
is_first_play = false; //## turn off this seek on future (same) Event triggers
}
});