【问题标题】:DojoX Flash streamingDojoX Flash 流式传输
【发布时间】:2012-07-13 06:15:59
【问题描述】:

当我使用带有以下配置的 jwplayer 时,一切正常。

jwplayer('someId').setup({
        'flashplayer': '/js/jwplayer/player.swf',
        'file':        'awesome.flv',
        'streamer':    'rtmp://some.server.com:1934/vod',
        'width':       '220',
        'height':      '190'
    });

当我使用带有以下配置的 dojo 时:

new Flash({
    path:   'rtmp://some.server.com:1934/vod?file=awesome.flv' ,
    width:    220,
    height:   190
    }, this.someId);

Flash 占位符可见,但没有播放流的控件,在控制台中我可以看到对我没有意义的错误...

Building SWF failed.
[Break On This Error]   

comboPendingTimer = null;

dojo.js (line 648)

dojo flash 配置有什么问题?另一件事是如何告诉dojo 使用object 标签?现在它使用了一些奇怪的embed 标签...

道场版本 1.7.2 文档没那么有用http://dojotoolkit.org/reference-guide/1.7/dojox/flash.html

【问题讨论】:

    标签: flash dojo wowza


    【解决方案1】:

    Dojox.embed.Flash 只是一个浏览器嗅探实用程序,它将以最适合用户浏览器的方式呈现 <embed><object>

    你做错了路径,Flash对象不知道如何处理流式flv文件,它需要指向一个swf。

    使用的选项

    var dataurl =    "player.swf"
    var flashvars =  {'file':'playlist.xml','autostart':'true'};
    var params =     {'allowfullscreen':'true','allowscriptaccess':'always', 'bgcolor':'#ffffff'};
    var attributes = {'id': 'player1','name':'player1'};
    var expressInstall = "http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=6a253b75"
    

    将 swfobject 与 jwplayer 一起使用

    这是一个来自 longtail 的示例,展示了如何通过 swfobject 嵌入:

    swfobject.embedSWF(dataurl, 'flashContent', '300', '250', '9', 'false', flashvars, params, attributes);
    

    因此来自原型 embedSWF 是:

    swfobject.embedSWF(swfUrlStr, replaceElemIdStr, widthStr, heightStr, 
         swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj,
         attObj, callbackFn)
    

    将 dojox.embed.Flash 与 jwplayer 一起使用

    参数见reference guide

    将以上结果映射到

    new Flash({
        width: 300,
        height: 250,
        minimumVersion: 9,
        expressInstall : expressInstall,
        allowScriptAccess: true,
    
        path: dataurl,
        id: 'player1',
        vars: flashvars,
        params: params        
    
    }, 'flashContent');
    

    【讨论】:

    • 感谢您的详细回答。路径正确。问题似乎是在 DojoX Flash 实现中缺乏对 RTMP 的支持——这就是 jwplayer 可以正常工作的原因,dojo 插件不能。
    • 不,你弄错了.. Embed.Flash 插件编写 html - 它本身没有 SWF 功能(一个 SWF,它是一个 Flash 程序,而它又可能是一个媒体播放器)
    • 好的,谢谢。我昨天意识到我必须使用一些播放器。
    猜你喜欢
    • 1970-01-01
    • 2011-04-07
    • 2011-12-30
    • 2010-10-23
    • 2012-08-23
    • 2013-01-13
    • 2012-05-30
    • 2014-04-12
    • 1970-01-01
    相关资源
    最近更新 更多