科尔多瓦navigator.mediaSession

时间:2020-04-22 10:44:47

标签: android cordova navigator

我试图在播放音频时使媒体控件在Android上正常工作。

我最初使用的是html5音频,但后来转而使用cordova-plugin-media播放音频,并使用了音乐控件,它是该控件的cordova插件。 (我实际上尝试了很多不同的插件,等等)。我遇到的问题是,没有一个插件可以100%正常工作,我仍然能够找到方法来暂停设备上的音频等,而无需调用我的回调来保持应用程序同步。经过数天的故障排除后,我现在已经放弃了这种方法。

我昨天读了一篇文章,发现了有关navigator.mediaSession的信息,并且能够通过切换回html5 audo使其在桌面上的google chrome中运行,但是,在构建它时未定义navigator.mediaSession通过科尔多瓦。

是否可以通过cordova使用naviator.mediaSession?如果是这样,我想念什么?

如果没有,那就回到拉我的头发。如果有人有任何建议,将不胜感激。

2 个答案:

答案 0 :(得分:0)

为回答您的问题,Navigator.mediaSession在cordova中不起作用,因为Android webview不支持它们。您可以在Navigator API的浏览器兼容性部分中找到有关此问题的更多信息。事实上,到目前为止,mediaSession本身还处于实验模式。

最好的选择是使用cordova插件,并根据需要对其进行增强。正如您提到的,有很多专门用于媒体和音乐控件的插件。仅举几例,

https://github.com/homerours/cordova-music-controls-plugin

https://github.com/521dimensions/cordova-music-controls-plugin

我要说的是塞子才是正确的方法。

答案 1 :(得分:0)

我找到了解决方案。您可以使用ionic,ionic是用于混合移动应用程序的开源SDK,并且在它上面存在cordova-plugin-media,它支持所有平台Android-Ios-Windows-Browser。即使您可以使用react来录制和播放设备上的音频文件。请看下面的链接也许可以帮助您:

https://ionicframework.com/docs/native/media

,对于本地通知,您可以使用此链接:

https://ionicframework.com/docs/v3/native/local-notifications/

或者您可以通过以下链接将启用了Cordova的WebView组件嵌入到更大的Android应用程序中:

https://cordova.apache.org/docs/en/latest/guide/platforms/android/webview.html

然后您可以使用cordova插件媒体:

  1. https://github.com/apache/cordova-plugin-media
  2. https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview