我正在使用http://www.thetechlabs.com/tech-tutorials/audionvideo/creating-a-downloader-for-youtube-with-flexair-2/上的教程在Flash Builder中制作Youtube下载程序,但我的代码中出现错误
public function getFLVURL( sHTML:String ) : String {
var swfArgsFound:Array = sHTML.match( /var swfArgs =(.*?);/ );
**var swfArgsJS:JSONDecoder = new JSONDecoder( swfArgsFound[1] );**
var swfArgs:Object = swfArgsJS.getValue();
var url:String = 'http://youtube.com/get_video.php';
var first:Boolean = true;
for( var k:String in swfArgs ) {
if ( swfArgs[k] != null && swfArgs[k].toString().length > 0 ) {
url += first ? '?' : '&';
first = false;
url += k+'='+escape(swfArgs[k]);
}
}
return url;
}
错误是说参数数量不正确,预期为2.但是我无法弄清楚第二个参数是什么。我可以告诉的教程是为Air 1.0编写的,所以自编写教程以来可能已经发生了变化。有什么想法吗?
答案 0 :(得分:0)
我认为你的'已加星标'行会导致错误?您使用的是AS3CoreLib库吗?
你看过the code这门课吗?
第一个参数是您要解码的字符串。第二个被命名为'strict',我假设它与代码的解码方式有关。根据文档:
strict Flag指示是否为JSON 字符串需要严格匹配 是否是JSON标准。
尽管如此,这是如何达到你甚至不得不问这个问题的?