ngCordova&s $ cordovaMedia和$ cordovaNativeAudio之间的差异

时间:2015-08-05 19:37:36

标签: cordova audio local-storage cordova-plugins ngcordova

我正在考虑将音频应用到我的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吗?有人可以解释两者之间的真正差异吗?也许这两种不同方法有一些优点或缺点?

2 个答案:

答案 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