你的位置: 奇芳阁 帝国教程 阅读文章     

帝国CMS整合CMP4播放器,详解CMP4音乐播放器整合ecms【帝国cms】教程

[ 帝国教程 // 2015-05-26 ]

由于本人正在搭建帝国CMS为基础的有声小说站点,打算使用CMP4作为声音文件播放的媒体,并且还能播放视频,很是方便,于是动手整合。

查询了很多资料,包括晨风官方论坛,经过测试基本都没办法满足我的要求,不是没有连播的就是没有侦听,要不就是非帝国内部播放器调用方式,无法实现扣点。于是自己动手修改代码,最终达到了整合到内部调用(就像调用ECMS自己的播放器一样),并且能实现连播功能。当然这里给出的代码是没有隐藏播放地址的,隐藏代码,大家可以根据自己情况发挥。

帝国CMS整合CMP4,包括连播功能:

一、安装ecms和CMP4

下载和安装最新CMP4,将下载的CMP4安装包解压,上传其中的cmp目录到系统e/DownSys/play/目录下即可;

二、整合CMP4到ecms

1.在ecms系统 e\downsys\play文件夹下新建CMP.PHP文件,并贴入如下代码:

<?php
if(!defined('InEmpireCMS'))
{
exit();
}
//扣点
ViewOnlineKFen($showdown_r,$u,$u[$user_userid],$classid,$id,$pathid,$r);
$pathid1=$pathid-1;
$pathid2=$pathid+1;
$width=480;
$height=320;
$openwidth=$width+30;
$openheight=$height+100;
?>
<HTML>
<HEAD>
<TITLE><?=$r[title]?></TITLE>
<META HTTP-EQUIV="Expires" CONTENT="0">
<link rel="stylesheet" href="js/player.css">
<script language="javascript">
window.resizeTo(<?=$openwidth?>,<?=$openheight?>);
window.moveTo(100,100);
window.focus()
</script>
<BODY>
<script type="text/javascript" src="cmp/cmp.js"></script>
<script type="text/javascript">
//CMP全局配置
var flashvars = {
//播放地址
src : "<?=$trueurl?>",
//自动播放
auto_play : "1",
//不加载默认配置和列表
url : "",
lists : "",
//名称链接
label : "<?=$r[title]?>",
name : "<?=$r[title]?>",
link : "<?=$public_r['newsurl']?>",
//启用取样播放,如果mp3无需跨域可以关闭此项
sound_sample : "1",
//插件设置
plugins : "<?=$public_r['newsurl']?>e/DownSys/play/cmp/plugins/sharing.swf",
//皮肤
skin : "<?=$public_r['newsurl']?>e/DownSys/play/cmp/skins/default.zip",//皮肤可以替换别的文件
api : "cmp_loaded"
};
CMP.write("cmp", "100%", "100%", "cmp/cmp.swf", flashvars);

var cmpo;
function cmp_loaded(key) {
cmpo = CMP.get("cmp");
if (cmpo) {
//添加播放完成、点击上一曲、下一曲的侦听函数,更多侦听函数请访问晨风API事件列表
cmpo.addEventListener("model_state", "state");
cmpo.addEventListener("view_prev", "up");
cmpo.addEventListener("view_next", "down");
}
}
function state(data) {
if (data == "completed") window.location.href="?classid=<?=$classid?>&id=<?=$id?>&pathid=<?=$pathid2?>";//当播放完成时触发事件调用下一集
}
function up(data) {
window.location.href="?classid=<?=$classid?>&id=<?=$id?>&pathid=<?=$pathid1?>";//播放器上一集按钮,当然皮肤上要有
}
function down(data) {
window.location.href="?classid=<?=$classid?>&id=<?=$id?>&pathid=<?=$pathid2?>";//播放器下一集按钮,当然皮肤上要有
}
var htm = CMP.create("cmp", "100%", "100%", "cmp/cmp.swf", flashvars, {wmode:"opaque"});
document.getElementById("player").innerHTML = htm;
</script>

</body>
</html>

保存代码后,进入帝国cms后台管理中心 - 其他 - 下载模型相关 - 播放器管理 - 添加播放器,添加一个CMP4播放器支持,如下图

注意:皮肤地址和插件地址要写完整url地址否则无法加载!

打赏

取消

请考虑对本站进行小额捐赠打赏:!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

各位请注意,目前发现 0 位寻荒者 在附近海域漂移!

报歉!评论已关闭.