HTML5-audio nicht spielen in PhoneGap App (Möglich, Medien zu nutzen?)

Arbeiten an einer Basis-sound board für eine Reise ins Ausland. Richten Sie alles zu funktionieren, im Browser aber wollte PhoneGap Build/GitHub machen es Download als Handy-service ist nicht verfügbar.

Alles toll arbeiten im desktop-browser jedoch sobald seine installiert auf Android, die mp3-Dateien nicht Abspielen. Ich habe einige andere Beiträge hier über die Ungereimtheiten, die mp3s auf PhoneGap. Einige Vorschläge angeboten mit "Medien" statt . Ich bin mir nicht sicher, wie Sie Sie zu tauschen, die sich an die Stelle der code, den ich jetzt habe. Scheint, javascript zu verwenden, statt nur html. http://docs.phonegap.com/en/2.0.0/cordova_media_media.md.html#Media Beispiel von, was ich verwende:

<audio id="yes" src="audio/basic/yes.mp3"></audio>
<audio id="no" src="audio/basic/no.mp3"></audio>

<button class="button" onclick="document.getElementById('yes').play()">Yes</button>
<button class="button" onclick="document.getElementById('no').play()">No</button>

Super funktioniert im browser, aber nicht auf Android. Kann mir jemand einen Ausgangspunkt für die richtige audio?

Dank
-BR

BEARBEITEN 2-9-14

Kein Glück so weit. Das media plugin zeigt als korrekt installiert und cordova.js ist im Lieferumfang enthalten. Hier ist, was ich versucht habe.

<!DOCTYPE HTML>
<html>
  <head>
    <title>Media Example</title>
    <link rel="stylesheet" type="text/css" href="style.css">
    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    function playAudio(url) {
//Play the audio file at url
var my_media = new Media(url,
    //success callback
    function() {
        console.log("playAudio():Audio Success");
    },
    //error callback
    function(err) {
        console.log("playAudio():Audio Error: "+err);
});

//Play audio
my_media.play();
}
    </script>
  </head>
  <body>

  <a href="#" class="button" onclick="playAudio('/android_asset/www/audio/basic/yes.mp3');">Yes</a>

  </body>
</html>

Auch versucht mit dem code, den Sie vorgeschlagen

<!DOCTYPE html>
<html>
<head>

<title>Transactions</title>

<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript">
var my_media = null;
var mediaTimer = null;
function playAudio(src) {
 //Create Media object from src
 my_media = new Media(src, onSuccess, onError);
 //Play audio
 my_media.play();
 //Update my_media position every second
 if (mediaTimer == null) {
    mediaTimer = setInterval(function () {
            //get my_media position
            my_media.getCurrentPosition(
                //success callback
                function (position) {
                if (position > -1) {
                    setAudioPosition((position) + " sec");
                }
            },
            //error callback
            function (e) {
                console.log("Error getting pos=" + e);
                setAudioPosition("Error: " + e);
            });
        }, 1000);
    }
}
//onSuccess Callback
function onSuccess() {
console.log("playAudio():Audio Success");
}
//onError Callback
function onError(error) {
 alert('code: ' + error.code + '\n' +
    'message: ' + error.message + '\n');
}

</script>


<link rel="stylesheet" type="text/css" href="style.css">

</head>

<body>



document.addEventListener("deviceready", function () {
$("#Yes").on("click", function () {
    playAudio(audio/basic/yes.mp3);
});
$("#No").on("click", function () {
    playAudio(audio/basic/no.mp3);
});


<button class="button" id="Yes">Yes</button>
<button class="button" id="No">No</button>



</body>

</html>

Bearbeiten 2/10/14

Leider noch kein Glück. Letzten Aktualisierung unten

<!DOCTYPE html>
<html> 
<head>

<title>Transactions</title>

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


document.addEventListener("deviceready", function () {
$("#yes").on("click", function () {
    playAudio(/android_asset/www/audio/basic/yes.mp3);
});
$("#no").on("click", function () {
    playAudio(/android_asset/www/audio/basic/no.mp3);
});
}, false);

    var my_media = null;
var mediaTimer = null;
function playAudio(src) {
//Create Media object from src
my_media = new Media(src, onSuccess, onError);
//Play audio
my_media.play();
}
//onSuccess Callback
function onSuccess() {
console.log("playAudio():Audio Success");
 }
//onError Callback
function onError(error) {
alert('code: ' + error.code + '\n' +
    'message: ' + error.message + '\n');
 }
</script>

<!-- CSS -->
<link rel="stylesheet" type="text/css" href="style.css">

</head>

<body>




<button class="button" id="yes">Yes</button>
<button class="button" id="no">No</button>



</body>

</html>
Ich habe das gleiche problem. Eine Sache, die ich Tat, war die Verwendung eines externen soundfile wie html5multimedia.com/media/sayHello.mp3 um zu überprüfen, ob das Gerät unterstützt den Medien-Typ. Siehe meine Frage in stackoverflow.com/questions/22515699/...
Ich arbeite gerade an einem html5-audio-app. Getestet habe ich es mit phonegap gestern und es funktioniert gut auf meinem android-Handy. hast du die html5 <audio> - tag auch?

InformationsquelleAutor BR89 | 2014-02-07

Schreibe einen Kommentar