Моя проблема в то время как я работаю с веб-представлением для загрузки потокового аудио в реальном времени, используя PHP, сервер узла js, который выдает мне ошибку,
Uncaught (in promise) EncodingError: Unable to decode audio data", source: undefined (0)" please provide solution.
Здесь вы можете найти код
webView = findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setAllowContentAccess(true);
webView.getSettings().setAllowFileAccessFromFileURLs(true);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
webView.getSettings().setMediaPlaybackRequiresUserGesture(false);
}
webView.setWebViewClient(new MyWebViewClient());
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setUseWideViewPort(true);
webView.setWebChromeClient(webChromeClient);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webView.getSettings().setSaveFormData(true);
webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
webView.getSettings().setUserAgentString(MyUA);
webView.loadUrl("http://192.168.9.92:8000");
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if ("www.example.com".equals(Uri.parse(url).getHost())) {
// This is my website, so do not override; let my WebView load the page
return false;
}
// Otherwise, the link is not for a page on my site, so launch another Activity that handles URLs
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
@Override
public void onReceivedSslError(WebView view, final SslErrorHandler handler, SslError error) {
Log.e("SLSLOG", "SSL log :" + error);
handler.proceed();
}
}
private WebChromeClient webChromeClient = new WebChromeClient() {
@Override
public void onPermissionRequest(PermissionRequest request) {
super.onPermissionRequest(request);
myRequest = request;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
request.grant(request.getResources());
for (String permission : request.getResources()) {
if ("android.webkit.resource.AUDIO_CAPTURE".equals(permission)) {
askForPermission(request.getOrigin().toString(), Manifest.permission.RECORD_AUDIO, MY_PERMISSIONS_REQUEST_RECORD_AUDIO);
}
}
}
}
};
Заранее спасибо за помощь