Как вызвать плагин Cordova в Ionic V1 - PullRequest
1 голос
/ 02 октября 2019

У меня была установлена ​​Cordova-Plugin-Media в Ionic V1. Но медиа не определяется приложением, когда я запускаю его в браузере.

ionic.bundle.js:26794 ReferenceError: Media is not defined
at ChildScope.$scope.playPodcast (controllers.js:1405)
at fn (eval at compile (ionic.bundle.js:27638), <anonymous>:4:232)
at ionic.bundle.js:65427
at ChildScope.$eval (ionic.bundle.js:30395)
at ChildScope.$apply (ionic.bundle.js:30495)
at HTMLElement.<anonymous> (ionic.bundle.js:65426)
at defaultHandlerWrapper (ionic.bundle.js:16787)
at HTMLElement.eventHandler (ionic.bundle.js:16775)
at triggerMouseEvent (ionic.bundle.js:2953)
at tapClick (ionic.bundle.js:2942)

, и это мой код

$scope.playPodcast = function($audioId) {
    new Media("http://www.viaviweb.in/envato/cc/online_mp3_app_demo/uploads/40655_Overboard.mp3").play();
}

Ответы [ 2 ]

0 голосов
/ 10 октября 2019

Хорошо, в зависимости от того, как вы внедрили файл скрипта, вам нужно вызвать его одним из двух способов:

  1. Если медиа-плагин загружается как файл скрипта, который находится в вашем индексе.html сам по себе, и он присоединяется к глобальному пространству имен, а затем добавляет следующее к вашему app.js:
angular.module('Media', [])
  .factory('Media', function () {
    return window.Media;
});

Позже, в вашем определении модуля app.js, добавьте следующее:

angular.module('myApp',
 [
  'ionic',
  'Media'
  ])
.run(
 [
   'ionicReady',
   'Media',
  function (
  ionicReady,  
  Media, 
) {
  //Media initialization code here
 }

Это позволяет angular использовать свой Dependency Injection для инициализации «Media» в вашем основном модуле. Вам придется импортировать его в другие модули, если вы хотите использовать его где-то еще в вашем приложении.

Если вы используете NgCordova , который предоставляет угловые обертки для обычных плагинов Cordova, то вы импортируете его так же, как импортировали бы любую другую библиотеку AngularJS. Вот пример кода для медиа-плагина здесь .
0 голосов
/ 10 октября 2019

Просто быстрый поиск на странице github этого плагина показывает способ использования этого метода.

В частности, если вы хотите воспроизвести медиа-файл, это правильный способ его использования.

function playAudio(url) {
    // Play the audio file at url
    var my_media = new Media(url,
        // success callback
        function () { console.log("playAudio():Audio Success"); },
        // error callback
        function (err) { console.log("playAudio():Audio Error: " + err); }
    );

    // Play audio
    my_media.play();

    // Pause after 10 seconds
    setTimeout(function () {
        my_media.pause();
    }, 10000);
}
...