- 2011-08 (1)
- 2011-07 (1)
- 2011-06 (1)
- 2011-03 (1)
- 2011-02 (2)
- 2011-01 (4)
- 2010-12 (1)
- 2010-11 (2)
- 2010-10 (3)
- 2010-09 (1)
- 2010-08 (2)
- 2010-07 (3)
- 2010-06 (3)
- 2010-05 (2)
- 2010-04 (6)
- 2010-03 (6)
- 2010-02 (2)
- 2010-01 (8)
- 2009-12 (6)
- 2009-11 (7)
- 2009-10 (6)
- 2009-09 (11)
- 2009-08 (7)
- 2009-07 (17)
- 2009-06 (10)
- 2009-04 (1)
- 2009-03 (1)
- 2009-01 (3)
- 2008-12 (1)
- 2008-06 (2)
- 2008-04 (2)
音乐播放器
Flex播放器同步显示歌词
在听完S.H.E的你最近还吗不下一百遍,终于搞好了播放器同步显示歌词这一功能。这是继上一篇Flex播放器(实现播放、缓冲进度条和音频曲线显示)后的一扩展功能,本例是实现对lrc文本格式的歌词进行解析显示,并把当前播放歌词一行文本进行高亮显示。
播放歌曲时要同步显示歌词,首先必须要能解析出lrc格式的歌词文本,之前我还准备直接在网上匹配下载对应歌词,打开我机器的千千静音在线匹配歌词,然后用HTTPAnalyzerStdV监视所有的http请求,发现它是请求这个ttlrcct.qianqian.com网站下载歌词,本来还是直接套用千千静音服务器下载歌词,但是它的url参数全部加密了。后来又看了下酷狗音乐,它里面下载歌词我都监视不请求,考虑到就算我能在线找到下载歌词的url地址,flash里发送远程请求也会有安全杀箱问题,所以最终放弃直接在网络上下载歌词的办法,还是全部上传到我网站上去。lrc歌词其实就是一个文本格式的文件,在Flex里面我们可以使用URLLoader去加载,代码如下...
- posted@ 2010-1-3 23:17:31
- update@ 2010-1-4 0:26:38
- 阅读(4963)
- 评论(8)
Flex和js互调
一、在JavaScript中调用Flex方法 在Flex中可以用ExternalInterface来调用Flex的方法,途径是通过在Flex应用可调用方法列表中添加指定的公用方法。在Flex 应用中通过调用addCallback()可以把一个方法添加到此列表中。addCallback将一个ActionScript的方法注册为一个 JavaScript和VBScript可以调用的方法。addCallback()函数的定义为:addCallback(function_name:String, closure:Function):void,function_name参数就是在Html页面中脚本调用的方法名。closure参数是要调用的本地方法,这个参数可以是一个方法也可以是对象实例。 举个例子: import flash.external.*; public function myFunc():Number { return 42; } public function initApp():void { ExternalInterface.addCallback("myFlexFunction",myFunc); } 那么在Html页面中,先获得SWF对象的引用,也就是用object .../声明的Swf的Id属性,比如说是MyFlexApp。然后就可以用以下方式调用Flex中的方法。
- posted@ 2009-12-22 19:58:54
- 阅读(4154)
- 评论(0)
Flex屏蔽默认右键菜单。
首先需要修改index.template.html生成的静态模板页面,使用js监听document.onmousedown事件,并调用Flex里暴露的方法,代码如下:(Index为生成的flash对象id)
function onNsRightClick(e){ if(e.which == 3){ Index.openRightClick(); e.stopPropagation(); } return false;}function onIeRightClick(e){ if(event.button 1){ Index.openRightClick(); parent.frames.location.replace('javascript: parent.falseframe'); } return false;}if(navigator.appName == "Netscape"){ document.captureEvents(Event.MOUSEDOWN); document.addEventListener("mousedown", onNsRightClick, true); }else{ document.onmousedown=onIeRightClick; }第二步,还需要修改index.template.html默认生成flash的脚本,在AC_FL_RunContent方法调用里添加一行"wmode", "opaque",参数设置,这是关键。
最后,在Flex端注册暴露能被js调用的函数,ExternalInterface.addCallback("openRightClick", openRight
- posted@ 2009-12-20 16:36:57
- update@ 2009-12-22 20:02:11
- 阅读(4355)
- 评论(0)
博文推荐
搜索
最近发表
- 三年(2011-08-27)
- 使用ReportViewer的rdlc图形报表(2011-07-28)
- 2011时代财富11周年年庆(2011-06-05)
- 我的第一个NHibernate2.1.2.GA程序事例(2011-03-26)
- 移动硬盘Linux内搭建MyEcilipse8.6开发环境(2011-02-26)





最新评论