【发布时间】:2011-10-05 05:24:27
【问题描述】:
我正在尝试创建一个带有嵌入音频的 HTML5 页面。该页面必须在配备 Opera Mobile 11 的 ZTE BASE Lutea 智能手机 (Android 2.1) 上运行。音频格式为 MP3,但 OGG 也可以。所有文件都必须本地存储在智能手机 sdcard 上。
我的问题: 虽然从网络服务器加载音频时播放正常,但当文件是本地文件时它会失败。这绝对不是源路径错误。音频文件已预加载,我可以提醒正确的音频持续时间。然后,当调用音频 play() 方法时,它会抛出一个 MEDIA_ERR_DECODE。
无论我使用 MP3、OGG 还是原始 WAV 文件,这始终是相同的。知道为什么本地音频文件会出现解码问题吗?
编辑:当我在 Opera 中打开本地 HTML 页面“file://localhost/sdcard/index.html”并且该页面嵌入了音频“http://localhost/audio”时.mp3”,它可以工作。当然,我必须安装本地网络服务器,这将是一个非常糟糕的解决方案。
为什么播放音频文件需要HTTP协议,android上是否存在本地沙箱之类的东西?
编辑:我发现 Video 对象能够毫无问题地播放本地声音。不幸的是,这对我来说没用,因为我需要一个不可见的音频,而在 Opera Mobile 中,没有办法阻止视频全屏显示。
【问题讨论】:
标签: android mobile smartphone html5-audio