我正在考虑将音频应用到我的Ionic Cordova / PhoneGap混合应用程序中。该应用程序将保留约3小时的音频,并打算在旅途中播放"无论平台如何,音频都可以在锁定屏幕的背景下播放。此外,实施可能包括Spotify-ish离线下载到设备功能。
话虽如此,在阅读ngCordova文档时,我遇到了两个插件,我很难区分$cordovaNativeAudio
和$cordovaMedia
之间的区别。
他们的描述如下。
的 $ cordovaNativeAudio
这个Cordova / PhoneGap(3.5+)插件支持并发(多声道播放),复音(多声道播放)和 通过基于音频的应用程序最小化延迟(通过缓存) 利用原生音频API。专为基于HTML5的使用而设计 跨平台游戏和移动/混合音频应用。
的 $ cordovaMedia
此插件提供录制和播放音频文件的功能 在设备上。
关于iOS功能的说明:
持续播放或录制音频的应用(即使应用是 在后台运行)可以注册执行中的那些任务 背景。您可以从后台模式部分启用音频支持 Xcode项目中的Capabilities选项卡。 (您也可以启用 通过在音频中包含UIBackgroundModes键来获得此支持 应用程序的Info.plist文件中的值。)播放音频内容的应用程序 背景必须播放听觉内容,而不是沉默。
我的第一印象是$cordovaNativeAudio
最能满足我的需求,因为它可以缓存,顾名思义就是"原生音频"并将从设备的文件系统播放。然而,更多地考虑$cordovaMedia
它似乎做同样的事情,更多,支持视频和录制(没有必要,但很高兴),文档特别说音频" 播放。 ..持续(即使应用程序是
在后台运行)"这就是我正在寻找的。然而,之前的说明提到了" iOS功能"并没有提到Android。这包括Android吗?有人可以解释两者之间的真正差异吗?也许这两种不同方法有一些优点或缺点?
答案 0 :(得分:1)
您无法使用$ cordovaNativeAudio播放下载的音频文件。 它只播放与您的应用程序捆绑在一起的文件(驻留在您的www / audio或类似文件下)。 只需看看Java source code implementation for Android并注意它甚至添加了" www /"到了路上。 很不幸,因为它工作得非常好并且有一个很好的API。
$ cordovaMedia有很多问题(参见ionic forum discussion on the subject),但这是唯一的选择,除了编写自己的插件。
答案 1 :(得分:0)
$ cordovaMedia的一个大问题是除了Android,FireOS和Windows之外的任何平台都没有实现回调。因此,如果你想让它在iOS上运行,你仍然可以播放媒体,你只是不知道它何时停止播放媒体...
有关详细信息,请参阅:cordova-plugin-media callback methods。