

お世話になっております。

monacaでAndroidアプリを作成しています。  
実機デバッガーでは音が再生されましたが、パッケージをデバッグビルド作成して実行してみると、apkパッケージからは音が出ません。他のアプリからは音が出ますので、本体の故障などではありません。

Androidアプリの設定では、WebViewエンジンをハイパフォーマンスに変更して、ビルドしてみましたが、それでも音が出ません。  
不思議に思って、サポートで紹介されていたスクリプトをそのまま使ってみましたが、これも音が出ません。

スクリプトを以下に掲載しておきますが、なにか改善する箇所はありますでしょうか。

なお、テストしてみた端末は  
Sony Xperia tablet S1(Android 4.1.1)  
asus Nexus 7 (Android 5.1.1)  
です。

よろしくお願いします。

[code]

        <script>
        ons.bootstrap();
    
                document.addEventListener("deviceready", onDeviceReady, false);
    
        //Androidではプロジェクト中にあるmp3ファイルを読み込ませるために絶対パスを指定します。そのための関数です。
        function getPath() {
            var str = location.pathname;
            var i = str.lastIndexOf('/');
            return str.substring(0,i+1);
        }
    
        function onDeviceReady() {
            window.alert("PhoneGapの読み込みが完了しました。");
        }
    
        var media = null;
        var mediaTimer = null;
    
        //再生するための関数です
        function playAudio() {
    
    
            var src = 'beep1.mp3';
    
    
            media = new Media (getPath() + src , onSuccess, onError);
    
            //再生します。{numberOfLoops:"infinite"}をつけることでループ再生させることができます。
            media.play({numberOfLoops:"infinite"});
    
            if (mediaTimer == null) {
    
                mediaTimer = setInterval(function() {
    
                    // 再生位置を返します
                    media.getCurrentPosition(
    
                        //成功時のコールバック関数です
                        function(position) {
                            if (position > -1) {
                                setAudioPosition((position) + " sec");
    
                                        //端末によっては再生位置が-0.001で止まるので、その場合は再度読み込みます。
                                        if(position == -0.001){
    
                                            media.play({numberOfLoops:"infinite"});
    
                                        }
                            }
                        },
                        //失敗時のコールバック関数です
                        function(e) {
    
                            console.log("Error getting pos=" + e);
                            setAudioPosition("Error: " + e);
    
                        }
                    );
                }, 1000);
            }
        }
    
        //再生を一時停止する関数です
        function pauseAudio() {
    
            if (media) {
                media.pause();
            }
        }
    
        //再生を停止させるための関数です
        function stopAudio() {
    
            if (media) {
                media.stop();
            }
    
            clearInterval(mediaTimer);
            mediaTimer = null;
        }
    
          //成功時のコールバック関数です。ここではデバッグログに成功したことをメッセージとして出力します
          function onSuccess() {
              console.log("playAudio():Audio Success");
          }
    
          //失敗時のコールバック関数です
          function onError(error) {
              alert('code: '    + error.code    + '\n' + 
                    'message: ' + error.message + '\n');
          }
    
          //オーディオの再生位置です
          function setAudioPosition(position) {
              document.getElementById('audio_position').innerHTML = position;
          }
    
        </script>
    
[/code]


CC BY-SA 3.0
2015-10-10T04:33:26.207
17493
2016-04-07T09:09:03.990
12697
question
android monaca
apkデバッグビルドしたパッケージから音が出ません


MonacaクラウドIDEから`ファイル`→`Cordovaプラグインの管理`と選択し、`Media`プラグインを有効にして再度ビルドしてください。  
`Media`プラグインを有効・無効で確認を行い、有効にした場合にMP3が再生されました。

ほかの機能についても、Monacaデバッガーではうまく動作するのにビルドすると動作しない場合は、だいたいCordovaプラグインを有効にすると解決するようです。


CC BY-SA 3.0
2015-10-10T05:57:04.953
17500
2015-10-10T05:57:04.953
9566
17493
answer