我正在使用jPlayer,流媒体受保护的媒体,如果我在轨道完全缓冲轨道播放之前单击搜索栏的一部分,但是,进度条仍保留在我点击的位置。
有什么方法可以避免这种情况,我调查了内容范围等,并且遇到了以下解决方案,但我不是那里:
header("Content-Type: ".$mimeTypes[$ext]);
header('Content-Disposition: attachment; filename="'.$fileName.'"');
header('Accept-Ranges: bytes');
//header('Content-Range: bytes');
$begin = 0;
$end = $fsize - 1;
if (preg_match('/bytes=\h*(\d+)-(\d*)[\D.*]?/i', $_SERVER['HTTP_RANGE'], $matches))
{
$begin = intval($matches[1]);
if (!empty($matches[2]))
{
$end = intval($matches[2]);
}
}
header('Content-Length:' . (($end - $begin) + 1));
header("Content-Range: bytes $begin-$end/$fsize");
跟踪进度条可以在smartReadFile.php的更正代码的帮助下工作:
https://groups.google.com/forum/#!msg/jplayer/nSM2UmnSKKA/bC-l3k0pCPMJ
如果我给它几秒钟缓冲它可以正常工作。
jPlayer中是否有一种方法可以让它在搜索条获取数据之前进行预缓冲?
$(document).ready(function(){
$("#jquery_jplayer_1").jPlayer({
swfPath: "js",
supplied: "mp3, m4a, oga"
});
});
function playTrack(id,title) {
$("#jquery_jplayer_1").jPlayer("setMedia", { mp3: "/download.php?track=" + id });
$("#jp-audio-container .track-name").text(title);
$("#jquery_jplayer_1").jPlayer("play");
var span = document.getElementById('trackTitle');
while( span.firstChild ) {
span.removeChild( span.firstChild );
}
span.appendChild( document.createTextNode("Now playing: " + title) );
}
我有什么想法可以解决这个问题吗?
非常感谢。