Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 视频在base64的手机上不起作用 函数_base64ToArrayBuffer(base64){ var binary_string=window.atob(base64); var len=二进制字符串长度; var字节=新的Uint8Array(len); 对于(变量i=0;i_Javascript_Html_Video_Mobile_Base64 - Fatal编程技术网

Javascript 视频在base64的手机上不起作用 函数_base64ToArrayBuffer(base64){ var binary_string=window.atob(base64); var len=二进制字符串长度; var字节=新的Uint8Array(len); 对于(变量i=0;i

Javascript 视频在base64的手机上不起作用 函数_base64ToArrayBuffer(base64){ var binary_string=window.atob(base64); var len=二进制字符串长度; var字节=新的Uint8Array(len); 对于(变量i=0;i,javascript,html,video,mobile,base64,Javascript,Html,Video,Mobile,Base64,在电脑浏览器中,视频工作。firefox视频中的手机可以工作,但突然没有浏览器。为什么? 我需要的数据在Base64中,因为我需要存储在浏览器中的sqLite中。blob类型的对象是必需的,因为BASE 64的视频会中断手机上的浏览器 <form action=""> <input type="file" id="file"/> </form> <div id="result"></div>

在电脑浏览器中,视频工作。firefox视频中的手机可以工作,但突然没有浏览器。为什么? 我需要的数据在Base64中,因为我需要存储在浏览器中的sqLite中。blob类型的对象是必需的,因为BASE 64的视频会中断手机上的浏览器

    <form action="">
    <input type="file" id="file"/>
</form>
        <div id="result"></div>
        <video id="video" style="width:400px;height: 300px;" controls>
            <source id="source"></source>

        </video>
        <script src="js/jquery.min.js"></script>
<script >


    function _base64ToArrayBuffer(base64) {
        var binary_string =  window.atob(base64);
        var len = binary_string.length;
        var bytes = new Uint8Array( len );
        for (var i = 0; i < len; i++)        {
            bytes[i] = binary_string.charCodeAt(i);
        }
        return bytes.buffer;
    }
    //var base64String = btoa(String.fromCharCode.apply(null, new Uint8Array(arrayBuffer)));


    function dataURItoBlob(dataURI) {
        var byteString = atob(dataURI.split(',')[1]);

        var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0]

        var ab = new ArrayBuffer(byteString.length);
        var ia = new Uint8Array(ab);
        for (var i = 0; i < byteString.length; i++) {
            ia[i] = byteString.charCodeAt(i);
        }

        var bb = new BlobBuilder();
        bb.append(ab);
        return bb.getBlob(mimeString);
    }
$(document).ready(function(){
    $("#file").change(function(event){
        var files = event.target.files;

        var file    =   files[0]
        var fileReader = new FileReader();
        fileReader.onloadend = function(event)
        {
            var content = event.target.result;
            //console.log(content)

            content =   content.split(",")
            content =   content[1]

            var blob = new Blob([_base64ToArrayBuffer(content)],{'type':'video/mp4'});

            bloburl =   URL.createObjectURL(blob)
            $("#result").append("<a href='"+bloburl+"'>"+bloburl+"</a>")
            $("#video").attr('src',bloburl);
           document.getElementById('video').play();


        };

        bloburl =   URL.createObjectURL(files[0])
        $("#result").append("1 - <a href='"+bloburl+"' target='_blank'>"+bloburl+"</a><br>")

                fileReader.readAsDataURL(files[0])
    })
});

</script>