我正在尝试在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'
}
}
});
答案 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;