|
原资源直接调用已经失效,请使用代理实现
例子:http://imusic.sinaapp.com/
CMP4最新版提供javascript:协议地址,可以在播放时跳出到调用页面js脚本进行后续处理
所以可以实现在开始播放时,用页面js去获取新的地址,然后调用js的cmp api进行继续播放控制
javascript:协议格式如:- src="javascript:method(parameters)"
复制代码 必须填在列表项的src属性里,以javascript:开头(小写)
后面是要调用的js函数名及其参数
使用javascript:协议,必须在网页环境中,且支持与js脚本进行通讯
特别声明:
以下程序仅为演示cmp的javascript:协议所用,源码仅供学习参考
调用的音乐数据归原来源网站所有,不保证以后也能正常使用
请勿将代码以及其调用的音乐非法使用,造成的后果和法律责任自行担当
本站不承担任何责任,特此说明
2011.3.22
修正歌名含有引号不能播放问题
修正无法读取地址列表时引发的错误
2011.3.4
支持传入hash歌名自动搜索和播放
播放时也将自动添加歌名保留到地址#后面
2011.2.8
已经兼容IE6浏览器,但推荐使用IE8或者firefox/chrome浏览器
提示CMP未初始化,可尝试升级一下flashplayer到最新版:http://tools.cenfun.com/flashplayer
更新到最新的CMP4支持,也就是启用sound_sample取样播放,进而显示频谱效果
新增更换地址功能,如果播放失败,或者播放的内容不相符合,则可以进行更换
例子程序(可右键另存为下载源码,仅一个文件,其他文件为CMP安装包中附带):
https://github.com/cenfun/cmp/tr ... developer/sogou.htm
收听历史的功能简介:
最新CMP4提供本地存储接口,这样很简单能实现收听历史功能
当每次收听成功时,就记录收听过的项目到CMP本地存储
当然先要读取之前的历史,然后添加到最前,再保存回去
假设我们要存储的新音乐名在label变量,下面是例子代码:- var arr;
- //从CMP读取之前的本地历史存储
- var history = cmpo.cookie("history");
- if (history && history != "null") {
- arr = history.split(",");
- //删除之前存在重复的
- for (var i = 0; i < arr.length; i ++) {
- if (arr[i] == label || !arr[i]) {
- arr.splice(i, 1);
- i --;
- }
- }
- //添加到首位置
- arr.unshift(label);
- //仅保存最后20个
- if (arr.length > 20) {
- arr = arr.slice(0, 20);
- }
- } else {
- arr = [label];
- }
- //处理完,最后又保存到CMP本地存储
- cmpo.cookie("history", arr.join(","));
复制代码 主要就是调用CMP的cookie函数
每个项都用自己的分隔符隔开,便于生成数组,一般用逗号
有时间再补上更多详细说明 |
|