使用 createOscilator 创建的声音(例如哔哔声)不适用于 android(版本 8.0)

Sound ( for example beep ) create with createOscilator not working on android ( ver 8.0 )

我在开发一个应用程序 (html, javascript) 并通过 webview 从 android (android studio) 调用。在用户按下按钮(网络视图中的html)的那一刻,我希望听到哔声。 javascript 函数和方法 createOscillator 被调用。在 PC 上的浏览​​器 (mozilla) 中我有声音,通过 webview 在移动设备上没有声音(例如我在 android 8.0.0 OS 上测试,Samsung galaxy A5 (2017) . 为什么手机没有声音?非常感谢您的回答...

html

<button name="zavrsisnimi" id="zavrsisnimi1" type="submit"  onClick="zavrsisnimi(this.id)"
                style="width:100%; height:100%; margin:0%; 
                background-color:white; font-size:xx-large; font-size:2.0vw; font-size:3.0vh; " >
                SEND                 
    </button>  

JavaScript

function zavrsisnimi(id)
 {   
     var y;
     y="yes";       
     navigator.vibrate = navigator.vibrate || navigator.webkitVibrate  || navigator.mozVibrate || navigator.msVibrate;
     if (navigator.vibrate)
       {
        alert("I m navigator vibrate");        
        beep2();
       }     
     window.open('/somefolder/file2?zavrsisnimi='+y,'_self');
     return;
     }


function beep2() 
{

a=new (AudioContext || webkitAudioContext); 
beepc(300,520,2000);

function beepc(vol, freq, duration)
  {
  v=a.createOscillator();
  u=a.createGain();
  v.connect(u);
  v.frequency.value=freq;
  v.type="square";
  u.connect(a.destination);
  u.gain.value=vol*0.01;
  v.start(a.currentTime);
  v.stop(a.currentTime+duration*0.001);
  } 
}

在Android工作室AndroidManifest.xml

<uses-permission android:name="android.permission.VIBRATE" />

我是这样做的,现在似乎在 android 上运行良好。所以window.open等待半秒然后继续。

function zavrsisnimi(id)
 {   
     var y;
     y="yes";        
     navigator.vibrate = navigator.vibrate || navigator.webkitVibrate ||    navigator.mozVibrate || navigator.msVibrate;     
     beep2();
     beep3();
     setTimeout(function () { window.open('/somefolder/file2.php?zavrsisnimi='+y,'_self'); }, 500);      
     return;
     }