从流播放器输出当前剪辑文件名或 URL

Outputting the current clip filename or URL from Flowplayer

本文关键字:文件名 URL 播放器 输出      更新时间:2023-09-26

我正在尝试在 Flowplayer 中获取当前播放的视频的文件名或 URL,并将其显示在我的节目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'
        }
    }

}(;

以下是

Flowplayer 文档对completeUrl的描述:

这是剪辑的 baseUrl 属性和剪辑的 url 属性的串联。 如果未显式设置,则未定义 baseUrl。

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

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

更新

正如OP发现的那样,显然使用RTMP流列表时没有completeUrl。但是当使用没有流列表的 RTMP 时,它可以工作。

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

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