Flowplayer не будет играть после обновления - PullRequest
0 голосов
/ 23 января 2012

Я создаю сайт, и у меня есть его настройка для обновления пути FLV при нажатии на ссылку на сайте. Но когда ссылка нажата, она обновляет URL, но не воспроизводит. Я просто получил белую коробку.

Вот код, который я использую на домашней странице. Он сразу же начинает буферизацию и воспроизведение первого из 4 видео (которые хранятся как полные пути URL в массиве javascript)

var player = flowplayer("container0",{
src: "/js/flowplayer-3.2.7.swf",
wmode: 'opaque',
debug: true
},{
clip:{
    autoPlay: true,
    scaling: "fit",
    bufferLength: 4,
    onUpdate: function(data) {
        this.unload();
        console.log(data);
        player.play();
    },
    url: videolist[0]
}});

Затем на моем сайте есть несколько ссылок, которые запускают следующий код:

player.getClip(0).update({ url:videolist[f] });

Где "f" - это индекс массива javascript URL-адресов видео.

Я знаю, что обновление происходит, потому что журнал консоли показывает объект, когда происходит обновление. Но все же этого не происходит. Я хотел бы некоторые идеи.

Спасибо всем!

1 Ответ

1 голос
/ 24 января 2012

Я поиграл с вашим кодом с некоторыми незначительными изменениями.

Я создаю функцию onclick для функции javascript, чтобы обновить URL-адрес проигрывателя, как вы это сделали.Если проигрыватель не начал воспроизводиться (я установил для autoPlay значение false) и щелкнул ссылку, проигрыватель успешно переключится на новое видео, которое я хочу воспроизвести.Но если воспроизводится первое видео, то после щелчка проигрыватель будет перезагружен, но он все равно будет воспроизводить первое видео.

Хотя вышеприведенный способ определенно не удовлетворит ваше требование, я считаю, что будет полезен другой способ,Вместо того, чтобы вызывать метод обновления самого клипа, вы можете напрямую вызвать player.play (url: videolist [f]).Таким образом, проигрыватель будет воспроизводить любое видео, которое вы передали, без необходимости обновления клипа.

Ниже приведен фрагмент кода:

<html>    
<head><title>Video</title><script src="/flowplayer/flowplayer-3.2.6.min.js"></script></head>
<body>
<a id="player"></a>
<div>
    <a href="javascript:update()">Update</a>
</div>
<script type="text/javascript">
function update() {
    $f('player').play("SECONDVIDEO");
}
flowplayer("player", "/flowplayer/flowplayer.unlimited-3.2.8-dev.swf",
{
    clip: {
        autoPlay: true,
        url: "FIRSTVIDEO"
    }
}
</script>
</body>
</html>
...