读取QQ用户的音乐盒

分类: 代码 | 标签: | 日期:2007-04-18 | 1 views

默认flash无法访问允许域外的资源,除了loadmovie方法之外没有什么好的方法。
因此,让flash调用本域下的asp抓去域外的文件并推送到flash。
flash对XML支持很好,因此使用XML。

实验是传送QQ空间播放列表到flash中分析。
因此,需要先分析列表格式。还好本身就是XML。因此直接推
问题是不管怎么设置CODEPAGE,都会产生乱码。XML本身的编码是GB2032。

查资料之后,用bytes2BSTR将XMLHTTP中返回的responseBody二进制数据转化,问题解决
Function bytes2BSTR(vIn)
strReturn = ""
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bytes2BSTR = strReturn
End Function[/code]

输出之前让此函数处理一下responseBody即可。
看看实验品,music2.html
blog是utf8编码的,所以点击此链接在music2.html中会产生乱码不是技术故障
要怪腾讯垃圾,所有的代码都写在客户端javascript中,搞的浏览器卡死,所有的xml编码也全是gb2032的.
单独在地址栏中访问此地址可以避免flash乱码

2007/05/02 播放列表内容太少了,为了实验方便,读取整个收藏,相应加入读取进度显示,和连续播放
WMP在播放的时候获取许可证的方法还需要学习

热门日志

3人发表了评论  ↓发表评论↓
  • 阿赖,别来无恙否?

    [回复]

    yangli @ 2007年04月22日

    回复
  • MG八子,你说列

    [回复]

    lx @ 2007年04月24日

    回复
  • 学习一下,我也弄一个。12771

    [回复]

    pkq270 @ 2007年09月23日

    回复

[ Ctrl+Enter提交 ]

3437471453591321281023251740504243322112038418334931126263041298715442436271424616193932548

Freelance PHP Developer