从Flowplayer输出当前剪辑文件名或URL

时间:2012-07-08 10:19:40

标签: javascript jquery flowplayer

我正在尝试在Flowplayer中获取当前正在播放的视频的文件名或URL,并将其显示在我的show div中。我以为我可以使用getClip().completeUrl,但我得到未定义的输出。如果我执行的不是字符串,例如getClip()。fullDuration(整数),则输出按预期工作。为什么我会被定义?

这是我的javascript:

function getURL(){
var url = flowplayer().getClip().completeUrl;
$("#show").empty();
$('#show').append(url);
}

这是我的HTML:

<input type="button" id="get" value="Get URL" onclick="getURL()" />
<input type="text" id="show" name="show" />

这是玩家javascript:

$f("player", "http://releases.flowplayer.org/swf/flowplayer-3.2.11.swf", {
buffering : false,
clip: {
        provider: 'rtmp',
        baseUrl: 'http://example.com',

        streams: [

        { url: 'flv:video123'},

        ]
    },
    plugins: {
        rtmp: {
                url: "flowplayer.rtmp-3.2.10.swf",
                netConnectionUrl: 'rtmp://example.com/vod'
        }
    }

});

2 个答案:

答案 0 :(得分:3)

以下是关于completeUrl的{​​{3}}:

  

这是剪辑的baseUrl属性和剪辑的url属性的串联。如果你没有明确地设置baseUrl,那么它是未定义的。

如果您尚未设置baseUrl,则可能意味着无法构建completeUrl。但在这种情况下,无论如何它都与url相同,所以你可以使用那个。

var url = flowplayer().getClip().url;

更新

当OP发现时,显然在使用RTMP流列表时没有completeUrl。但是在没有流列表的情况下使用RTMP时可以正常工作。

答案 1 :(得分:1)

尝试使用文本框或标签而不是div标签。因为通常div标签没有value属性。然后尝试

onclick="return getURL();"代替onclick="getURL()"。 你试过var url = flowplayer().getClip(0).url;

吗?