HTML5音频 - 测试无效状态错误(或Dom异常11)

 塞上秋雪_838 发布于 2023-03-19 07:22
  • php
  • 我正在动态创建音频文件并动态更改源.但是,在我更改src并尝试更改currentTime后,我总是会收到无效状态错误.你是如何进行测试的呢?或者更好地在事件准备好时触发事件,然后调用currentTime来改变其音频位置.

    this.doneLoading = function(aTime){
    
        try{
            this.mAudioPlayer.currentTime = aTime / 1000.0;
        }catch(err){
            console.log( err );
        }
        this.mAudioPlayer.play();   
    }
    
    this.playAtTime = function(aTime) {
        Debug("play at time audio: " + aTime);
        Debug("this.mAudioPlayer.currentTime: " + this.mAudioPlayer.currentTime);
    
         this.startTime = aTime;
    
        if (this.mAudioPlayer.src != this.mAudioSrc) {
            this.mAudioPlayer = new Audio();
            this.mAudioPlayer.src = this.mAudioSrc;
            this.mAudioPlayer.load();
            this.mAudioPlayer.play();
            this.mAudioPlayer.addEventListener('canplaythrough', this.doneLoading(aTime), false );
        }
        else if ((isChrome() || isMobileSafari()) && aTime == 0) {
            this.mAudioPlayer.load();
            this.mAudioPlayer.currentTime = aTime / 1000.0;
            this.mAudioPlayer.play();
            Debug("Reloading audio");
        }else{
    
            this.mAudioPlayer.currentTime = aTime / 1000.0;
            this.mAudioPlayer.play();
        }       
    
    
    
    };
    

    Svish.. 19

    对于那些真正需要测试以防止此无效状态错误的人,您可以尝试这样做:

    if(this.readyState > 0)
        this.currentTime = aTime;
    

    似乎无论如何都适合我:)

    撰写答案
    今天,你开发时遇到什么问题呢?
    立即提问
    热门标签
    PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有