0

我创建了一个示例 phonegap 应用程序,该应用程序的目标是播放静态 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 视图中不可靠。在 80% 的 Android 设备上的 android 2.x 上,它根本不受支持。您可以在此处查看支持 HTML5 音频的平台:http: //caniuse.com/#feat=audio在支持它的平台上,存在编解码器不一致,因此有些设备可以播放 MP3,有些不能,但可以播放其他音频编码格式。前面的答案是正确的,可以使用PhoneGap 的Media类来可靠地播放MP3 音频。如果您正在使用多个音频文件,并且希望能够预加载它们或将它们分层(例如在游戏场景中),您还可以使用LowLatencyAudio原生插件。

于 2012-08-30T15:48:21.960 回答