Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.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 在Android和iOS上自动播放背景HTML5声音/视频_Javascript_Android_Ios_Html_Audio - Fatal编程技术网

Javascript 在Android和iOS上自动播放背景HTML5声音/视频

Javascript 在Android和iOS上自动播放背景HTML5声音/视频,javascript,android,ios,html,audio,Javascript,Android,Ios,Html,Audio,我深入研究了StackOwerflow,但没有从任何帖子中得到正确的答案 首先,这是我的代码: (function(a,n){ window.onload = function() { var b = document.body, userAgent = navigator.userAgent || navigator.vendor || window.opera, playSound = f

我深入研究了StackOwerflow,但没有从任何帖子中得到正确的答案

首先,这是我的代码:

(function(a,n){
        window.onload = function() {
            var b = document.body,
                userAgent = navigator.userAgent || navigator.vendor || window.opera,
                playSound = function(file) {
                    var mediaAudio = new Audio(file);
                    mediaAudio.play();
                };
            if(b.id == 'fail' || b.id == 'success')
            {
                if ((/android/gi.test(userAgent) && !window.MSStream))
                {
                    var vm = document.createElement("video"), type;
                    vm.autoPlay = false;
                    vm.controls = true;
                    vm.preload = 'auto';
                    vm.loop = false;
                    vm.muted = true;
                    vm.style.position = 'absolute';
                    vm.style.top = '-9999%';
                    vm.style.left = '-9999%';
                    vm.style.zIndex = '-1';
                    vm.id = 'video';

                    if(b.id == 'fail')
                        type = a;
                    else
                        type = n;

                    for(key in type)
                    {
                        if(/video/gi.test(key) && vm.canPlayType(key) == 'probably') {
                            vm.type = key;
                            vm.src = type[key];
                            b.appendChild(vm);
                            setTimeout(function(){
                                vm.muted = false;
                                vm.play();
                            },100);
                            return;
                        }
                    }
                }
                else
                {
                    var au = new Audio(),type;
                    if(b.id == 'fail')
                        type = a;
                    else
                        type = n;
                    for(key in type)
                    {
                        if(/audio/gi.test(key) && au.canPlayType(key) == "probably") {
                            playSound(type[key]);
                            return;
                        }
                    }
                }
            }
        }
    }({
        'audio/mpeg':'./sfx/not_ok.mp3',
        'audio/wav':'./sfx/not_ok.wav',
        'audio/ogg':'./sfx/not_ok.ogg',
        'video/mp4; codecs=avc1.42E01E,mp4a.40.2':'./sfx/not_ok.mp4',
    },
    {
        'audio/mpeg':'./sfx/ok.mp3',
        'audio/wav':'./sfx/ok.wav',
        'audio/ogg':'./sfx/ok.ogg',
        'video/mp4; codecs=avc1.42E01E,mp4a.40.2':'./sfx/ok.mp4',
    }));
我试图在一个特殊页面上播放所有设备的背景声音。该页面播放
失败
成功
声音

所有这些在桌面浏览器上都很好,但当我尝试在手机上玩时,我并没有得到结果。在上面的代码中,我添加了一个黑客,我在android平台上生成隐藏视频并尝试自动播放,但没有成功

有没有办法自动触发视频或音频播放

有没有一种方法可以模拟身体上的点击事件来自动播放点击事件或其他解决方案上的声音

谢谢