0

サンプル phonegap アプリケーションを 1 つ作成しました。そのアプリケーションの目的は、静的な mp3 ファイルを再生することです。次の場所の/android_asset/wwwフォルダーの下にファイルを配置しました。

HTML5 コンテンツは次のとおりです。


        <html>
          <head>
            <title>PhoneGap Back Button Example</title>
            <script type="text/javascript" src="phonegap-1.2.0.js"></script>
            <script type="text/javascript">

            var myMedia = null;
         var playing = false;
         //Method for playing the audio Track1 file
           function playAudio() {
      if (!playing) {
                            myMedia.play(); 
       document.getElementById('play').src = "images/pause.png";
       playing = true; 
      } else {
       myMedia.pause();`enter code here`
                            document.getElementById('play').src = "images/play.png";    
                            playing = false; 
      }
        }     </script>

         <body onload="onLoad()">
           <h1>Audio Player</h1>
           <p id="audio_position">0.000 sec</p>
           <p>
//The Html page contains a dropdown of option from which  we can select the source from where the media file can be played

            <select id="playlist" onchange="updateMedia()">
                                     <optionvalue="/android_asset/www/audio/track1.mp3">Asset</option>
            </select>
           </p>
           <a href="#" onclick="playAudio()"><img id="play" src="images/play.png"></a>
           <a href="#" onclick="stopAudio()"><img id="stop" src="images/stop.png"></a>
         </body>
        </html>

活動クラスは以下の通りです。

 package com.plugin.myapp;



import com.phonegap.DroidGap;

import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;

public class MainActivity extends DroidGap
 {

 @Override

 public void onCreate(Bundle savedInstanceState)
 {

  super.onCreate(savedInstanceState);

    // super.loadUrl("file:///android_asset/www/index.html");



  WebView webview = new WebView(this);

       setContentView(webview);


       //Media.getContentUriForPath("/android_asset/www/audio/track1.mp3");
   //this helps to load the html page
        webview.loadUrl("file:///android_asset/www/audio/example.html");



        WebSettings webSettings = webview.getSettings();

     webSettings.setJavaScriptEnabled(true);

   }
}

問題は何ですか?

4

2 に答える 2

1

再生する前にMEDIAオブジェクトを作成してください...次のようなものです... myMedia = new Media(src, onSuccess, onError); ここで src は、再生するオーディオ ファイルです http://docs.phonegap.com/en/2.0.0/cordova_media_media.md.html#Media

于 2012-08-30T15:10:41.000 に答える
0

HTML5オーディオは、モバイルWebビュー全体で信頼できません。すべてのAndroidデバイスの80%に搭載されているandroid 2.xでは、まったくサポートされていません。HTML5オーディオがサポートされているプラ​​ットフォームは次の場所で確認できます。http://caniuse.com/#feat=audioサポートされているプラ​​ットフォームでは、コーデックの不整合があるため、MP3を再生できるデバイスもあれば、再生できないデバイスもありますが、他のオーディオは再生できます。エンコーディングフォーマット。前の答えは正解です。PhoneGapのMediaクラスを使用して、MP3オーディオを確実に再生できます。複数のオーディオファイルを使用していて、それらをプリロードまたはレイヤー化する機能が必要な場合(ゲームシナリオのように)、LowLatencyAudioネイティブプラグインを使用することもできます。

于 2012-08-30T15:48:21.960 に答える