Phonegap / Cordova-代码无法在Android上播放音频(不是路径问题)
Phonegap / Cordova - Code not playing audio on android (Not a path issue)
我正在开发一个phonegap/cordova应用程序,可以播放本地存储的音频文件。
我在使用某些代码和 android 时遇到问题,其中示例 1 无法在 android 上播放,而示例 2 可以播放。
注意:问题不在于路径,我知道文件的路径是正确的。
示例 1 - 无法在 android 上播放,但在 IOS 上运行良好,其中路径已针对 IOS 进行了修改。
var audiofile = cordova.file.dataDirectory+'android_asset/www/audio/1.aac';
...
$( ".player" ).html('<div class="audioDemo-wrapper"><audio class="audioDemo" controls><source src="'+audiofile+'" type="audio/mpeg"></audio><div class="closeAudioBtn" onclick="stopAndCloseAudio();">X</div></div>');
$(".audioDemo").trigger('play');
示例 2 - 这适用于 Android,但这不是我想走的方式。
var audiofile = cordova.file.dataDirectory+'android_asset/www/audio/1.aac';
window.open(audiofile, '_blank', 'location=no,closebuttoncaption=Close');
区别主要在于示例 2 在新窗口上打开?
为什么示例 1 在 IOS 上播放正常时无法在 Android 上播放(注意:路径不是问题)
有什么想法吗?
在 Android 上使用 Cordova webview,您可以使用:
1)音频HTML5 API(也包装有jQuery),用于播放来自Web的音频文件。
2)Cordova插件,提供API来播放与Cordova项目捆绑在一起的本地音频文件;例如,两个用于播放音频文件的 Cordova 插件是:
- 科尔多瓦插件媒体
- cordova-plugin-nativeaudio
另一种方法是在 Cordova 项目中使用 Crosswalk,因此将原生 Cordova Web 视图替换为 Crosswalk Web 视图。这样,您就拥有了基于 Chromium 的 Web 视图,从而支持所有现代 Web API,包括音频。
一些有用的 Ionic/Cordova 项目的迷你教程(仅适用于 Cordova 项目):
- http://gonehybrid.com/how-to-add-sound-effects-to-your-ionic-app-with-native-audio/
- https://blog.nraboy.com/2014/11/playing-audio-android-ios-ionicframework-app/
PS:不幸的是,我无法在Cordova文档上找到有关Android Cordova网络视图支持的Web API的详细信息
相关文章:
- 如何播放部分音频文件
- 音频控件在mouseover上显示,在mouseout上淡出
- HTML5音频加载和播放获胜'我不能在iPad上工作
- Javascript:使用绝对路径设置img src
- 如何在d3.js中返回路径的y坐标
- 复制图像路径以单击它
- 从模块内部访问Express装载路径
- JS文件的路径正在消失
- 是否可以在浏览器中使用纯JavaScript保存音频流
- 使用onclick绘制SVG路径
- jpm的默认Firefox路径没有'不起作用
- 如何使用jquery将base64图像路径转换为真实路径
- 可以用'吗/'在相对路径中
- angular不会更改json的音频源
- 通过幻灯片更改事件停止使用jquery的音频
- Canvas+svg路径动画,在路径中的特定点暂停一段时间,然后继续
- 如何在 javascript 中为推送通知提供音频播放文件路径
- Phonegap / Cordova-代码无法在Android上播放音频(不是路径问题)
- 动态路径变量播放音频.mp3文件 如何?D3 JavaScript 咖啡脚本
- 如何在不提供绝对路径的情况下流式传输音频文件