小编EAG*_*GLE的帖子

28
推荐指数
2
解决办法
5万
查看次数

是否可以使用content://作为WebView中<audio>元素的源

我创建了一个ContentProvider.它导出我的assets /目录中的文件.我正在使用content:// urls来访问WebView中的导出内容.

以下HTML按预期工作:

<img src="content://<provider-name>/test.jpg">
Run Code Online (Sandbox Code Playgroud)

我正在尝试将内容提供程序用于mp3音频文件:

<div id='player'></div>
<script>
  url = "content://<provider-name>/test.mp3";
  var audio = document.createElement('audio');
  audio.src = url;
  audio.controls = "controls";
  document.getElementById("player").appendChild(audio);
</script>
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息.

E/MediaPlayer(24120): Unable to to create media player
E/HTML5Audio(24120): couldn't load the resource: content://.../test.mp3 exc: java.io.IOException: setDataSource failed.: status=0x80000000
Run Code Online (Sandbox Code Playgroud)

我尝试了Android SDK 8和10但没有成功.我没有在日志中看到对ContentProvider的任何访问权限.看起来在WebView中无法访问音频标签中的内容.这看起来很奇怪,因为以下代码按预期工作:

MediaPlayer player = MediaPlayer.create(this, 
    Uri.parse("content://<provider-name>/test.mp3")
);
player.start();
Run Code Online (Sandbox Code Playgroud)

如何在WebView中播放ContentProvider中的音频文件?

android webview

13
推荐指数
1
解决办法
1690
查看次数

Firefox的奇怪的未终止字符串文字错误

我已经看到类似的问题,但我已经彻底检查了以下问题.我在Firefox的控制台中收到"未终止的字符串文字"错误.

我有一个HTML页面如下:

<HTML>
<HEAD>

<SCRIPT type="text/JavaScript">
var test = "</script>";
</SCRIPT>
</HEAD>

<BODY>
</BODY>

</HTML>
Run Code Online (Sandbox Code Playgroud)

据我所知,这个JavaScript应该没有任何效果,因为我不相信'<','/'或'>'在用作JavaScript字符串变量的一部分时需要转义.实际上以下工作:

var test = "</>";
Run Code Online (Sandbox Code Playgroud)

所以,我想知道我的小脚本是如何设法浏览浏览器或我如何解决它?

html javascript firefox

3
推荐指数
1
解决办法
2186
查看次数

标签 统计

android ×2

firefox ×1

handler ×1

html ×1

java ×1

javascript ×1

webview ×1