Cordova navigator.mediaSession - PullRequest
       29

Cordova navigator.mediaSession

3 голосов
/ 22 апреля 2020

Я пытаюсь заставить элементы управления мультимедиа работать на Android при воспроизведении звука.

Сначала я использовал html5 аудио, но затем перешел на использование cordova-plugin-media для воспроизведения звука, и использовал musi c -controls, который является плагином Cordova для элементов управления. (Я на самом деле пробовал довольно много разных плагинов и т. Д. c). Проблема, с которой я столкнулся, заключалась в том, что ни один из плагинов не работал на 100%, я все еще был в состоянии найти способы приостановить аудио и c на устройстве, не вызывая мои обратные вызовы, чтобы синхронизировать мое приложение c. Теперь я отказался от этого подхода после многих дней поиска неисправностей.

Вчера я читал статью, узнал о navigator.mediaSession и смог запустить ее в google chrome на рабочем столе, переключившись обратно на html5 audo, однако, navigator.mediaSession не определяется при сборке через cordova.

Можно ли использовать naviator.mediaSession через cordova? Если так, то чего мне не хватает?

Если нет, то я снова выдернул свои волосы. Если у кого-то есть какие-либо предложения, они будут очень благодарны.

Ответы [ 2 ]

0 голосов
/ 01 мая 2020

Я нашел решение. Вы можете использовать ioni c, ioni c - SDK с открытым исходным кодом для гибридного мобильного приложения и существующие на нем cordova-plugin-media, и он поддерживает все платформы Android - Ios - Windows -Browser. даже вы можете использовать реагирование для возможности записи и воспроизведения аудиофайлов на устройстве. Пожалуйста, см. ссылку ниже, возможно, поможет вам:

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

и для локальных уведомлений вы можете использовать эту ссылку:

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

или вы можете встроить компонент WebView с поддержкой Cordova в более крупное приложение 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
0 голосов
/ 30 апреля 2020

Чтобы ответить на ваш вопрос, Navigator.mediaSession не работает в cordova, так как Android webview не поддерживает их. Вы можете найти более подробную информацию по этому вопросу в разделе совместимости браузера Navigator API Infact, сама mediaSession находится в экспериментальном режиме на данный момент.

Лучшая ставка - go с плагинами cordova и улучшить их в соответствии с вашими потребностями. Как вы упомянули, существует довольно много плагинов, предназначенных исключительно для носителей и элементов управления musi c. Чтобы назвать несколько,

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

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

Плагины - это правильный подход для продолжения, это то, что Я бы сказал.

...