我在ionic v1中安装了cordova-plugin-media。但是,当我在浏览器中运行媒体时,该应用并未定义媒体。
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();
}
答案 0 :(得分:0)
只需快速搜索该插件的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);
}
答案 1 :(得分:0)
好吧,根据您注入脚本文件的方式,您需要使用以下两种方式之一对其进行调用:
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使用其依赖注入来确保“ Media”在主模块中初始化。如果要在应用程序中的其他位置使用它,则必须将其导入到其他模块中。