2010-08-29 8 views
7

में एक ध्वनि बजाना मैं एक साधारण ऐड-ऑन बनाना चाहता हूं जो हर बार एक अलग एमपी 3 रिकॉर्डिंग खेलता है जब उपयोगकर्ता उस वेबपृष्ठ में किसी शब्द को डबल क्लिक करता है और वह एक विशेष विकल्प चुनता है संदर्भ की विकल्प - सूची।फ़ायरफ़ॉक्स ऐड-ऑन

एमपी 3 फ़ाइलें रिमोट सर्वर पर स्थित हैं। आम तौर पर मैं एमपी 3 फ़ाइल खेलने के लिए जावास्क्रिप्ट + फ्लैश का उपयोग करता हूं। फ़ायरफ़ॉक्स ऐड-ऑन में, हालांकि, मैं किसी कारण से बाहरी स्क्रिप्ट लोड करने में असमर्थ हूं (ध्वनि काम ठीक है अगर यह वेबपृष्ठ स्वयं स्क्रिप्ट लोड करता है, लेकिन निश्चित रूप से मुझे इसे हर वेबसाइट के साथ काम करने की आवश्यकता है, न केवल जिनमें स्क्रिप्ट शामिल है)।

तो जावास्क्रिप्ट का उपयोग कर फ़ायरफ़ॉक्स एड-ऑन में दूरस्थ एमपी 3 फ़ाइल चलाने का सबसे आसान तरीका क्या है?

उत्तर

5

यह आपके प्रश्न को पूरी तरह से हल नहीं कर सकता है, क्योंकि मुझे विश्वास नहीं है कि यह एमपी 3 बजाता है, लेकिन मुझे यकीन नहीं है।

फ़ायरफ़ॉक्स में nsisound है, जिसे मैं दूरस्थ WAV फ़ाइलों को चला सकता हूं, जैसा कि मैंने परीक्षण किया है और साबित कर दिया है।

आप इसे अपने लिए परीक्षण करना चाहते हैं और देख सकते हैं कि यह आपको थोड़ा करीब ले जाता है या नहीं!

var ios = Components.classes['@mozilla.org/network/io-service;1'].getService(Components.interfaces.nsIIOService); 
var sound = ios.newURI("http://www.yoursite.com/snds/haha.wav", null, null); 
var player = Components.classes["@mozilla.org/sound;1"].createInstance(Components.interfaces.nsISound); 

player.play(sound); 

शुभकामनाएं, मुझे आशा है कि यह कम से कम आपको बंद कर देगा!

0

http://www.mozdev.org/pipermail/project_owners/2008-February/011041.html

=> nsISound एक सुरक्षा प्रतिबंध

आप नहीं XUL से दूरस्थ फ़ाइलें खेल सकते हैं, वह यह है कि देखें। आप ऐसी वेबसाइट लोड कर सकते हैं जो ध्वनि को कामकाज के रूप में बजाती है।

+0

कैसे मैं एक वेबसाइट मैं प्लगइन में लोड से ध्वनि चला सकते हैं? मैं रिमोट स्क्रिप्ट लोड करने के साथ अजीब मुद्दों में भाग गया। उदाहरण के लिए, मेरे पास एक ऐसी वेबसाइट है जो कुछ जेएस स्क्रिप्ट लोड करती है और ध्वनि बजाती है। मैं इसे एक प्लगइन में खोलता हूं। लेकिन किसी कारण से यह केवल तब काम करता है जब मैं ब्राउज़र में साइट खोलता हूं और फिर इस वेबसाइट से प्लगइन खोलता हूं। फिर SoundManager 2 (स्क्रिप्ट जो मैं ध्वनियों को चलाने के लिए उपयोग करता हूं) काम नहीं करता है जब मैं एक अलग वेबसाइट से प्लगइन लोड करता हूं, जो आवश्यक