2

Media.getDuration() 関数を使用してオーディオ ファイルの長さを取得していますが、応答として常に -1 を取得しています。

build.phonegap.com を使用してビルドすると、これは正常に機能します。

しかし、cli を使用してビルドするたびに、getDuration が機能しません。

この問題を再現する簡単な手順は次のとおりです。

CLI:

cordova start my_project
cordova plugin add cordova-plugin-media
cordova platform add android
cordova build android

www/index.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
              "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <title>Media Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for device API libraries to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);


    function deviceready()
    {
       var my_media = new Media('http://web.com/mp3');
       my_media.play();
       console.log(my_media.getDuration()); // this will produce -1
    }


    </script>
  </head>
  <body>

  </body>
</html>
4

3 に答える 3

0

よし、解決した。デフォルトで古いバージョンのメディアプラグインを使用していました(2.0だと思います)次のコマンドで削除された古いプラグインを使用しました:

cordova plugin remove cordova-plugin-media

次に、次のコマンドを使用して、同じプラグインの最新バージョンをインストールしました。

cordova plugin add cordova-plugin-media@2.2.0

そして、私はそれを再び構築し、それは魅力のように機能しました.

ありがとう

于 2016-02-20T20:39:54.667 に答える