0

我正在尝试在 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'
        }
    }

});

4

2 回答 2

2

以下是Flowplayer 文档所说completeUrl

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

如果您没有设置baseUrl,这可能意味着completeUrl无法构建。但在这种情况下,它与url反正是相同的,所以你可以使用那个。

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

更新

completeUrl正如 OP 发现的那样,使用 RTMP 流列表时显然没有。但它在使用没有流列表的 RTMP 时有效。

于 2012-07-08T10:34:41.627 回答
0

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

onclick="return getURL();"而不是 onclick="getURL()". 你试过 varurl = flowplayer().getClip(0).url;

于 2012-07-08T10:33:14.137 回答