【问题标题】:innerHTML call to receive a urlinnerHTML 调用以接收 url
【发布时间】:2013-01-16 04:48:41
【问题描述】:

我正在尝试拨打电话,以便在我的播放列表中单击视频的标题时,它会回调特定的视频 url,以显示在我创建的元数据字段框中。

到目前为止,我得到了结果,但我使用的下面的函数给了我这样的 rmtp url:

(rtmp://brightcove.fcod.llnwd.net/a500/d16/&mp4:media/1978114949001/1978114949001_2073371902001_How-to-Fish-the-Ice-Worm.mp4&1358870400000&7b1c5b2e65a7c051419c7f50bd712b1b )

Brightcove 说要使用 (FLVURL&media_delivery=http)。

我已经尝试了所有我知道的方法来在我的函数中放置媒体传递,但总是只提供 rmtp 或空白。

请您帮忙处理我展示的少量代码。如果我需要展示更多,那不是问题。谢谢

function showMetaData(idx) {
    $("tr.select").removeClass("select");
    $("#tbData>tr:eq("+idx+")").addClass("select");

    var v = oCurrentVideoList[idx];

    //URL Metadata
    document.getElementById('divMeta.FLVURL').innerHTML = v.FLVURL;

这是我的人口电话列表。

//For PlayList by ID

function buildMAinVideoList() {

//Wipe out the old results
$("#tbData").empty();

console.log(oCurrentMainVideoList);
oCurrentVideoList = oCurrentMainVideoList;
// Display video count
document.getElementById('divVideoCount').innerHTML = oCurrentMainVideoList.length + " videos";
document.getElementById('nameCol').innerHTML = "Video Name";
//document.getElementById('headTitle').innerHTML = title;
document.getElementById('search').value = "Search Videos";
document.getElementById('tdMeta').style.display  = "block";
document.getElementById('searchDiv').style.display  = "inline";
document.getElementById('checkToggle').style.display  = "inline";
$("span[name=buttonRow]").show();
$(":button[name=delFromPlstButton]").hide();


//For each retrieved video, add a row to the table
var modDate = new Date();
$.each(oCurrentMainVideoList, function(i,n){
    modDate.setTime(n.lastModifiedDate);
    $("#tbData").append(
        "<tr style=\"cursor:pointer;\" id=\""+(i)+"\"> \
        <td>\
            <input type=\"checkbox\" value=\""+(i)+"\" id=\""+(i)+"\" onclick=\"checkCheck()\">\
        </td><td>"
            +n.name +
        "</td><td>"
            +(modDate.getMonth()+1)+"/"+modDate.getDate()+"/"+modDate.getFullYear()+"\
        </td><td>"
            +n.id+
        "</td><td>"
            +((n.referenceId)?n.referenceId:'')+
        "</td></tr>"
    ).children("tr").bind('click', function(){
        showMetaData(this.id);
    })
});

//Zebra stripe the table
$("#tbData>tr:even").addClass("oddLine");

//And add a hover effect
$("#tbData>tr").hover(function(){
    $(this).addClass("hover");
}, function(){
    $(this).removeClass("hover");
});

//if there are videos, show the metadata window, else hide it
if(oCurrentMainVideoList.length > 1){showMetaData(0);}
else{closeBox("tdMeta");}
}

【问题讨论】:

    标签: function http url innerhtml brightcove


    【解决方案1】:

    如果查找 HTTP 路径,当对 Brightcove 的 API 调用正确时,您将看不到 rtmp:// 网址。

    由于您正在获取 rtmp URL,这可以验证您使用的是具有 URL 访问权限的 API 令牌,这很好。像这样的请求应该返回播放列表和 http URL(插入您的令牌和播放列表 ID)。

    http://api.brightcove.com/services/library?command=find_playlist_by_id&token={yourToken}&playlist_id={yourPlaylist}&video_fields=FLVURL&media_delivery=http

    此 API 测试工具可以帮助您构建查询,并显示预期结果: http://opensource.brightcove.com/tool/api-test-tool

    我没有看到您的代码有什么问题,但如果您还没有尝试过,在浏览器中进行调试可以帮助您确认返回的 API 结果,而无需通过代码访问它。这可以帮助您根除用于访问值的代码的任何问题,以及值本身的问题。如果您以前没有使用过 Chrome 中的分步调试,这是一个概述: https://developers.google.com/chrome-developer-tools/docs/scripts-breakpoints

    【讨论】:

    • 感谢您的回复。我对这一切都很陌生,并且一遍又一遍地查看 (api.brightcove.com/services/…{yourToken}&playlist_id={yourPlaylist}&video_fields=FLVURL&media_delivery=http),这就是我遇到问题的地方。我想我不明白如何将 (FLVURL&media_delivery=http) 这部分放在我上面的代码中?我现在可能只是听起来很愚蠢。
    • media_delivery=http 部分不会出现在您上面的函数中。你用什么来填充 oCurrentVideoList?那就是它需要去的地方。如果您需要更多帮助,请显示您的代码部分。
    • 添加了我的代码来填充我上面的 oCurrentVideoList。希望这有助于谢谢。
    • 您添加的代码仅显示您在页面上显示视频数据的方式。您需要找到填充 oCurrentMainVideoList 的代码并修改实际的 brightcove 调用。
    • 好的,我知道了。我参加了我的 getPlaylist 通话并添加了 &media_delivery=http。
    猜你喜欢
    • 2015-05-27
    • 2021-06-30
    • 2017-12-15
    • 2023-03-04
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多