当我使用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
答案 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"
这是一个来自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)
请参阅reference guide了解参数
将上述结果映射到
new Flash({
width: 300,
height: 250,
minimumVersion: 9,
expressInstall : expressInstall,
allowScriptAccess: true,
path: dataurl,
id: 'player1',
vars: flashvars,
params: params
}, 'flashContent');