Я использую Xamarin Andorid Webview. Я кэшировал аудио файлы, и теперь я буду воспроизводить эти файлы через WhatsApp из Cache / Local, но я не знаю, какой путь я должен вставить в HTML источник звука.
html exmaple:
<audio _ngcontent-dgk-c22="">
<source _ngcontent-dgk-c22="" src="/storage/emulated/0/**/**/**/02212020/54a1cfbf-d5be-45b0-8d22-377d760a7b7d.ogg" type="audio/ogg">
</audio>
в Xamarin доступ разрешен:
if (this.Control != null)
{
this.Control.AddJavascriptInterface(new JSBridge(this), "jsBridge");
this.Control.Settings.SetAppCacheEnabled(true);
this.Control.Settings.DomStorageEnabled = true;
this.Control.Settings.JavaScriptEnabled = true;
this.Control.Settings.AllowFileAccess = true;
this.Control.Settings.AllowFileAccessFromFileURLs = true;
this.Control.Settings.AllowUniversalAccessFromFileURLs = true;
this.Control.Settings.AllowContentAccess = true;
this.Control.SetWebViewClient(new AndroidCustomWebViewClient(string.Format("javascript:{0}", JAVASCRIPTFUNCTION)));
var chromeClient = new FileChooserWebChromeClient((uploadMsg, acceptType, capture) =>
{
MainActivity.UploadMessage = uploadMsg;
switch (acceptType)
{
case "image/*":
((Activity)Forms.Context).StartActivityForResult(this.CreateChooserForImages(uploadMsg), FILECHOOSER_RESULTCODE);
//PermissionsSetting.Instance.SetPermissionsAsync(PermissionsTask.Camera | PermissionsTask.Microphone | PermissionsTask.Storage);
break;
default:
//PermissionsSetting.Instance.SetPermissionsAsync(PermissionsTask.Storage);
((Activity)Forms.Context).StartActivityForResult(this.CreateGetContent(), FILECHOOSER_RESULTCODE);
break;
}
});
this.Control.SetWebChromeClient(chromeClient);