目录

js-获取音视频的时长

目录

js 获取音视频的时长

通过 Audio 对象来获取音视频时长

以下是项目中代码片段: 注释是重点

  // 视频上传成功处理
    videoUploadSuccess(res, size) {
        this.videoUploading = false;
        let { state, data: { image }, result } = res;
        if (state == 'SUCCESS') {
            const audioElement = new Audio(image); // image为视频地址
            audioElement.addEventListener("loadedmetadata", (_event) => { // 通过在Audio对象loadedmetadata事件完成后,获取相关数据
                let { form } = this.state;
                let { video } = form;
                video.duration = audioElement.duration; //  获取音视频文件时长
                video.url = image;
                video.size = Math.round(size) || 0;
                video.format = 'mp4';
                form.video = video;
                this.setState({ form });
            });
            message.success('视频上传成功!')
        } else {
            message.error(result || '上传失败!')
        }
    }