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>