有声阅读整合到苹果cmsV10小说

功能说明:

  • 普通玩家选择常规模式,高端玩家选择自定义
  • 苹果cmsV10文章加上一个阅读功能,点击播放就能自动有声阅读当前页面的内容文字
  • 调用百度的接口,功能性稳定,加上之后让网站显得更加有档次
  • 有了这个再也不用去采集什么有声阅读小说了,采集有声小说麻烦,还要改模板,改模块,麻烦的不行
  • 所有苹果cmsV10模板通用,兼容性强,其他程序请自行测试
  • 演示地址:http://z1.testx.vip/index.php/art/detail/id/4.html
  • 功能展示

  • 要使用的js代码(创建一个js文件,然后代码放进去,最后引用到需要使用的页面,static/jsui/js/jquery.min.js路径改成自己模板里的路径)

[rihide]

if(typeof jQuery == 'undefined'){
    var ijq = document.createElement("script");
    ijq.src = "/static/jsui/js/jquery.min.js";
//改成自己的路径
    document.head.appendChild(ijq)
}
var Ting = function () {
    this.index = 0;
    this.play = function () {
        var self = this;
        //播放器1
        if(this.index<window.playList.length) {
            //如果已经有预加载的播放器
            if(document.querySelector('.audio' + this.index)!=null){
                this.audio1 = document.querySelector('.audio' + this.index);
                this.audio1.play();
            }else{
                //没有预加载的播放器
                this.audio1 = document.createElement('audio');
                this.audio1.controls="controls";
                this.audio1.className = 'audio' + this.index;
                this.audio1.src = window.playList[this.index];
                this.audio1.style.cssText = 'display:none';
                document.body.appendChild(this.audio1);
                this.audio1.onended = function(){
                    this.parentNode.removeChild(this);
                    self.play();
                }
                this.audio1.play();
            }
            this.index++;
            //播放器2预加载,无缝衔接
            if(this.index<window.playList.length){
                this.audio2 = document.createElement('audio');
                this.audio1.controls="controls";
                this.audio2.className = 'audio' + this.index;
                this.audio2.src = window.playList[this.index];
                this.audio2.style.cssText = 'display:none';
                this.audio2.onended = function(){
                    this.parentNode.removeChild(this);
                    self.play();
                }
                document.body.appendChild(this.audio2);
            }
        }
    }
    this.pause = function(){
        this.audio1.pause();
    }
    this.nextPlay = function(){
        this.audio1.play();
    }
}
var booktimer = setInterval(function () {
    var bookview = document.querySelector('book');
    if(document.querySelector('book') != null && typeof jQuery == 'function'){
        clearInterval(booktimer);
        var duan = bookview.innerText.split("\n");
        if(duan.length < Math.ceil(bookview.innerText.length/100)){
            //按长度分
            /*duan = [];
            for (var ii = 0 ;ii<Math.ceil(bookview.innerText.length/100);ii++){
                duan.push(bookview.innerText.substr(ii*100,100));
            }*/
            //按标点分
            duan = bookview.innerText.split("。");
        }
        duan = duan.filter(function (s) {
            return s.replace(/\s/g,'').length>0;
        });
        window.playList = [];
        duan.map(function (s, i) {
            window.playList[i] = 'http://tts.baidu.com/text2audio?idx=1&tex='+encodeURI(s.replace(/\s/g,''))+'&cuid=baidu_speech_demo&cod=2&lan=zh&ctp=1&pdt=1&spd=4&per=111&vol=5&pit=7';
        });
        var tingButton = document.createElement('div');
        var ting = null;
        tingButton.style.cssText = 'position:fixed;left:0;top:50%;transform:translateY(-50%);width:48px;height:40px;background:green;color:#ffffff;text-align:center;line-height:40px;border-top-right-radius:20px;border-bottom-right-radius:20px';
        tingButton.innerText = '播放';
        tingButton.onclick = function(){
            if (tingButton.innerText == '播放') {
                tingButton.innerText = '暂停'
                ting = new Ting();
                ting.play();
            }else if(tingButton.innerText == '继续'){
                tingButton.innerText = '暂停'
                ting.nextPlay();
            }else{
                ting.pause();
                tingButton.innerText = '继续'
            }
        }
        document.body.appendChild(tingButton);
    }
},2000);

 

  • 模板文章页内调用内容
document.write("<book><p>{$obj.art_page_list[$param['page']]['content']|mac_url_content_img}</p></book>");

使用有问题请联系站长[/rihide]

给TA打赏
共{{data.count}}人
人已打赏
实用教程随手笔记

苹果cmsV10标签

2019-11-9 4:04:02

实用教程

js生成当前页面地址二维码

2020-2-8 13:23:51

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索