2012-12-18 15 views
5

मैं फोनगैप 2.2.0 का उपयोग कर रहा हूं और मैंने कुछ कोड को बिना रुकावट के खेलने के लिए ऑडियो लूप करने की कोशिश की। लेकिन जिस कोड को मैंने कोशिश की वह मेरे एंड्रॉइड डिवाइस में काम नहीं कर रहा है। मेरा आवेदन एक मूल ऐप है। यहाँ क्या गलत हैफोनगैप में ऑडियो कैसे लूप करें?

 


    function playAudio(url) { 

     var my_media = new Media(url, 
      function() { 
       console.log("playAudio():Audio Success"); 
      }, 
      function(err) { 
       console.log("playAudio():Audio Error: "+err); 
      }, 
      function(status) { 
        alert(status); 
        // if (my_media.MEDIA_STOPPED === 4) { 
        //  playAudio(host_root+"resources/medias/sardana.mp3"); 
          // my_media.play(); 
        // } 
     }); 

     // Play audio 
     my_media.play({numberOfLoops:99}); 
    } 

 

आप मुझे बता सकते: जब मैं डिवाइस में इस एप्लिकेशन को चलाने यह एक समय पाश काम नहीं कर रहा है और यहां के लिए ही खेल रहा है मेरी कोड है?

उत्तर

3

फ़ोनपैप में एंड्रॉइड के लिए लूपिंग समर्थित नहीं है - तो संख्याऑफलोप्स आईओएस उपकरणों को छोड़कर कुछ भी नहीं करता है।

+2

'वर माईमीडिया; var loop = function (status) { अगर (स्थिति === मीडिया.एमडीआईएफ़ॉपड) { myMedia.play(); } }; myMedia = नया मीडिया ("/ audio/my.mp3", शून्य, शून्य, पाश); myMedia.play(); ' – Sadi

11

स्थिति परिवर्तन सुनें और MEDIA_STOPPED पर भुगतान करना शुरू करें। आप उपयोगकर्ता ध्वनि बंद करो, snd.pause() का उपयोग करें और नहीं snd.stop()

यह मेरे लिए काम किया करना चाहते हैं:

document.addEventListener("deviceready", onDeviceReady, false); 

    var getPhoneGapPath = function() { 
     var path = window.location.pathname; 
     path = path.substr(path, path.length - 10); 
     return path; 
    }; 

    var snd = null; 

    function onDeviceReady(){ 
     snd = new Media(getPhoneGapPath() + "sound/funk_game_loop.mp3", onSuccess, onError, onStatus); 
     snd.play(); 
    } 

    // onSuccess Callback 
    function onSuccess() { 
    } 
    // onError Callback 
    function onError(error) { 
    } 
    // onStatus Callback 
    function onStatus(status) { 
     if(status==Media.MEDIA_STOPPED) { 
      snd.play(); 
     } 
    } 
+0

इसमें कुछ विलंबता है हालांकि – Amyth

+0

मैं इस समाधान का उपयोग कर रहा हूं लेकिन हर बार कुछ समय में संगीत बंद हो जाएगा। ऐसा लगता है कि कभी-कभी ऑनस्टैटस को निकाल दिया नहीं जा रहा है। कोई और इस समस्या को देख रहा है? – Leo

+0

नया लूप शुरू करते समय कुछ देरी का समय होता है। लेकिन यह मेरे लिए काम कर गया। – Tuan