2013-07-19 12 views
6

Jestem nowy w Phonegap (Cardova), chcę odtworzyć lokalny plik mp3, może on odtwarzać plik z url, ale nie plik lokalny. Mój plik znajduje się w Assets --> www --> audio --> Ikhlas.mp3, używam Jquery Mobile z wieloma stronami. i na każdej stronie będę musiał odtworzyć inny plik audio z przyciskiem odtwarzania Oclick. gdy kiedykolwiek i kliknij przycisk, aby grać mam następujący błędy:nie mogę odtworzyć pliku audio mp3 w phonegap android

07-19 07:43:58.829: E/MediaPlayer(1081): Attempt to call getDuration without a valid mediaplayer, 
07-19 07:43:58.838: E/MediaPlayer(1081): Attempt to perform seekTo in wrong state: mPlayer=0x0, mCurrentState=0 

Każda pomoc będzie bardzo mile widziane. Thanks

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8"> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 

<title></title> 

<script type="text/javascript" charset="utf-8" src="js/cordova.js"></script> 
<link rel="stylesheet" href="css/themes/default/jquery.mobile-1.3.1.min.css"> 
<link rel="stylesheet" href="_assets/css/jqm-demos.css"> 
<link rel="shortcut icon" href="favicon.ico"> 
    <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Open+Sans:300,400,700"> 
<link rel="stylesheet" href="css/themes/default/my_style.css"> 
<link rel="stylesheet" media="screen" href="http://openfontlibrary.org/face/droid-arabic-naskh" rel="stylesheet" type="text/css"/> 
<script src="js/jquery.js"></script> 
<script src="_assets/js/index.js"></script> 
<script src="js/jquery.mobile-1.3.1.min.js"></script> 


<script> 
var myaudio = new Audio('/android_asset/www/audio/Ikhlas.mp3'); 
function playStream() { 
    try { 
    //alert ("ffff"); 

    myaudio.id = 'playerMyAdio'; 
    myaudio.play(); 
    } catch (e) { 
    alert('no audio support!'); 
    } 
} 


function stopStream() { 
    try { 
    myaudio.pause(); 
    } catch (e) { 
    alert('no audio support!'); 
    } 
} 
</script> 
<div data-role="page" id="Ikhlas"> 
<div data-role="header"> 
<a href="#page2" class="ui-btn-left" data-icon="back" data-iconpos="notext" class="ui- icon-nodisc" data-iconshadow="false" data-transition="slide">back</a> 
<a href="index.html" data-icon="home" class="ui-btn-right" class="ui-icon-nodisc" 
data-iconshadow="false" data-iconpos="notext">Home</a> 
</div> 
<!-- /header --> 
<body> 
<div data-role="content"> 
<button onClick="playStream()">play</button><br /> 
<button onClick="stopStream()">stop</button><br /> 
</div> 
<!-- /content --> 
<div data-role="footer"><a href="#page2" data-role="button" data-icon="back"  data-transition="slide">Go Back</a></div> 
</div> 
</body> 
</html> 
+0

mieć próby wstępne ładowanie pliku? – jycr753

Odpowiedz

3

użytek mediów zamiast audio i umieścić ten wiersz kodu

var myaudio = new Media('/android_asset/www/audio/Ikhlas.mp3'); 

wewnątrz funkcji playStream()

+1

Bardzo dziękuję panu .Shahaib Dostałem swoje rozwiązanie z uprzejmą pomocą ...... –

+0

Nie ma za co. – Miru

Powiązane problemy