【发布时间】:2014-09-19 00:56:53
【问题描述】:
我是 Ionic 和 Cordova 的新手,所以我确定我缺少一些基本的东西,但我的问题是打包的 APK 无法在 Android 设备上播放声音。我可以使用以下代码在 Ripple 模拟器中播放声音:
.controller('MainCtrl', ['$scope', function ($scope) {
$scope.playStartBell = function () {
var media = new Media('media/startBell.mp3', function () {
console.log('good');
}, function (err) {
console.log('bad: ', err);
});
media.play();
},
$scope.playStopBell = function () {
var media = new Media('media/stopBell.mp3', function () {
console.log('good');
}, function (err) {
console.log('bad: ', err);
});
media.play();
}
}])
我使用 Cordova 安装了媒体插件:$cordova plugin add org.apache.cordova.media
根据this SO post,需要将一个值添加到 config.xml,但我不确定如何为 Ionic/Cordova 正确执行此操作。
【问题讨论】:
-
您可能需要考虑在这些函数之外创建 Media 对象,以便您可以缓存它们,而不是在每次执行时重新创建它们。
-
谢谢@RaymondCamden 你能为我的推荐指明正确的方向吗?我正在考虑将此代码移动到将在需要时注入的服务中。这段代码只是我在框架中弄脏了自己的手。
-
我什至没有想到服务,只是将 var x = new Media() 行移动到控制器的开头,然后在函数中访问 x(使用更好的名称;)。
标签: android cordova audio ionic-framework