DojoX Flash流媒体

时间:2012-07-09 19:12:05

标签: flash dojo wowza

当我使用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标签......

Dojo版本1.7.2 文档没有帮助http://dojotoolkit.org/reference-guide/1.7/dojox/flash.html

1 个答案:

答案 0 :(得分: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"

使用带有jwplayer的swfobject

这是一个来自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');