2012-11-14 18 views
5

मैं विंडोज 8 में ऐप के बाहर काम करने के लिए ऑडियो प्राप्त करने की कोशिश कर रहा हूं (मैं एचटीएमएल 5, जावास्क्रिप्ट दृष्टिकोण का उपयोग कर रहा हूं), इसलिए जब आप ऐप बंद करते हैं तो ध्वनि काम जारी रखती है, क्या मैंने यहां और अन्य साइटों पर शोध किया है और मेरा मानना ​​है कि इसे विंडोज 8 'पृष्ठभूमि ऑडियो में कहा जाता है, मैंने माइक्रोसॉफ्ट डेवलपर साइट पर सभी ट्यूटोरियल का पालन किया है, और ऐप मेनिफेस्ट में पृष्ठभूमि ऑडियो घोषित किया है:विंडोज 8 में पृष्ठभूमि ऑडियो ऐप

<Extension Category="windows.backgroundTasks" StartPage="default.html"> 
     <BackgroundTasks> 
     <Task Type="audio" /> 
     <Task Type="controlChannel" /> 
     </BackgroundTasks> 
    </Extension> 

और जहां मैं इतना के रूप में मेरे HTML5 ऑडियो टैग करने के लिए msAudioCategory = "BackgroundCapableMedia" नियंत्रण = "नियंत्रण" जोड़ लिया है:

<audio id="playback" msAudioCategory="BackgroundCapableMedia" controls="controls"> 
    </audio> 

और मैं भी यह मेरी default.js फ़ाइल जो apprently जरूरत थी, जोड़ दिया है, हालांकि मुझे यकीन है कि यह क्या करता है

// Declare a variable that you will use as an instance of an object 
var mediaControls; 

// Assign the button object to mediaControls 
mediaControls = Windows.Media.MediaControl; 

// Add an event listener for the Play, Pause Play/Pause toggle button 
mediaControls.addEventListener("playpausetogglepressed", playpausetoggle, false); 
mediaControls.addEventListener("playpressed", playbutton, false); 
mediaControls.addEventListener("pausepressed", pausebutton, false); 

// The event handler for the play/pause button 
function playpausetoggle() { 
    if (mediaControls.isPlaying === true) { 
     document.getElementById("playback").pause(); 
    } else { 
     document.getElementById("playback").play(); 
    } 
} 

// The event handler for the pause button 
function pausebutton() { 
    document.getElementById("playback").pause(); 
} 

// The event handler for the play button 
function playbutton() { 
    document.getElementById("playback").play(); 
} 

मैं भी अंतिम भाग में आईडी बदल रहा है एक है की कोशिश की है नहीं कर रहा हूँ हैश टैग भी है लेकिन फिर भी जब मैं घर वापस जाने के लिए स्टार्ट बटन दबाता हूं तो ऑडियो बंद हो जाता है, क्या मैं कुछ गलत कर रहा हूं?

धन्यवाद

+0

किसी को भी यह पता है? – cameronmarklewis

उत्तर

4

मेरा मानना ​​है कि आप भी "stoppressed" घटना को संभालने की जरूरत है:

mediaControls.addEventListener("stoppressed", stop, false); 

function stop() { 
    // Handle the stop event. 
    document.getElementById("playback").pause(); 
    document.getElementById("playback").currentTime = 0; 
} 

8 जावास्क्रिप्ट क्षुधा Windows में पृष्ठभूमि ऑडियो खेलने के लिए तीन चरण हैं:

  1. Decalare पैकेज.appxmanifest में एक ऑडियो पृष्ठभूमि कार्य। स्टार्टपेज भी सूचीबद्ध करें। आपने यह सही ढंग से किया है।
  2. msAudioCategory="BackgroundCapableMedia" सेट करें। आपने यह किया।
  3. मीडिया नियंत्रणों के लिए समर्थन लागू करें। मीडिया नियंत्रण रिमोट कंट्रोल पर या कुछ कीबोर्ड पर बटन होते हैं जो ऑडियो चलाते हैं, रोकते हैं या रोकते हैं। एक कामकाजी उदाहरण के लिए एमएसडीएन पर Configure keys for media sample देखें। मैं काम करने के लिए उदाहरण प्राप्त करने में सक्षम था जब आप केवल 3 घटनाओं के अलावा "स्टॉपप्रेस" को संभालने में सक्षम थे।

अधिक जानकारी के लिए, 2011 सम्मेलन बिल्ड से Your Metro style app, video and audio, part 2 देखते हैं। पृष्ठभूमि ऑडियो लगभग 31 मिनट, वीडियो में 20 सेकंड से शुरू होता है और लगभग 10 मिनट तक रहता है। ध्यान दें कि यह वीडियो सितंबर, 2011 से है, और विंडोज 8 के डेवलपर पूर्वावलोकन को शामिल करता है। अवधारणाएं अभी भी विंडोज 8 और विंडोज आरटी के रिलीज़ संस्करणों पर लागू होती हैं, लेकिन नामस्थान और विशेषता नाम कुछ स्थानों पर अलग हैं।

संबंधित मुद्दे