簡體   English   中英

Ionic / Cordova應用程序可在模擬器中播放聲音,但不能在Android設備上播放

[英]Ionic/Cordova app plays sound in emulator but not on Android device

我是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

根據這篇SO帖子 ,需要在config.xml中添加一個值,但是我不確定如何針對Ionic / Cordova正確地執行此操作。

事實證明,您已經指定了以/ android_asset / www前綴開頭的路徑,如下所示:

/ android_asset / www /

因此,將我的代碼更改為以下代碼即可。 請注意,您需要檢測正在運行的設備以確定適當的位置。

.controller('MainCtrl', ['$scope', function ($scope) {
        ///android_asset/www/
        $scope.playStartBell = function () {
            var media = new Media('/android_asset/www/media/startBell.mp3', function () {
                console.log('good');
            }, function (err) {
                console.log('bad: ', err);
            });
            media.play();
        },
            $scope.playStopBell = function () {
            var media = new Media('/android_asset/www/media/stopBell.mp3', function () {
                console.log('good');
            }, function (err) {
                console.log('bad: ', err);
            });
            media.play();
        }
    }])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM