2010-05-09 15 views
22

के साथ स्ट्रीम की गई एमपी 3 फ़ाइल के माध्यम से खोजना उम्मीद है कि कोई मेरी मदद कर सकता है।एचटीएमएल 5 <audio> टैग

मैं एक node.js सर्वर के साथ खेल रहा हूं जो क्लाइंट को ऑडियो स्ट्रीम करता है, और मैं एक HTML5 प्लेयर बनाना चाहता हूं। अभी, मैं नोड से कोड को चंकित एन्कोडिंग का उपयोग कर स्ट्रीम कर रहा हूं, और यदि आप सीधे यूआरएल पर जाते हैं, तो यह बहुत अच्छा काम करता है।

मैं क्या करना चाहते हैं क्या इस एम्बेड है एचटीएमएल 5 <audio> टैग का उपयोग, इसलिए जैसे:

<audio src="http://server/stream?file=123"> 

जहां /stream एमपी 3 स्ट्रीम करने के लिए नोड सर्वर के लिए अंत बिंदु है। एचटीएमएल 5 प्लेयर सफारी और क्रोम में ठीक लोड करता है, लेकिन यह मुझे खोजने की इजाजत नहीं देता है, और सफारी यह भी कहता है कि यह "लाइव ब्रॉडकास्ट" है। /stream के शीर्षकों में, मैं फ़ाइल का आकार और फ़ाइल प्रकार शामिल करता हूं, और प्रतिक्रिया ठीक से समाप्त हो जाती है।

इस बारे में कोई विचार कि मैं इसे कैसे प्राप्त कर सकता हूं? मैं निश्चित रूप से पूरी फाइल को एक बार में भेज सकता था, लेकिन फिर खिलाड़ी पूरी चीज डाउनलोड होने तक इंतजार करेगा - मैंने इसे स्ट्रीम किया था।

+0

मैं भी ऐसा करना चाहते हैं की मांग कर सकेंगे, लेकिन सभी मैं ने पाया है कि यह केवल ogg और m4a स्वरूपों का समर्थन प्राप्त है है। तो मुझे यकीन नहीं है कि यह संभव है। लेकिन मैं अभी भी देख रहा हूँ। –

उत्तर

2

यहां देखें http://www.scottandrew.com/pub/html5audioplayer/, मैंने इसका इस्तेमाल किया और यह फ़ाइल डाउनलोड करते समय खेलता है। यह बफर के लिए थोड़ा इंतजार करता है लेकिन फिर खेलता है। हालांकि कभी भी कोशिश करने की कोशिश नहीं की, लेकिन अगर वह किया जा सकता है तो मैं अपने कोड में "aud.currentTime" सेट करने की कोशिश कर शुरू करूंगा।

गुड लक

1

आप मैं क्या समझते हैं कि आप खिलाड़ी उपयोगकर्ता ऑडियो के कुछ हिस्सों के लिए कूद करने की अनुमति देना चाहते से (RFC 2616, Section 14.5) प्रतिक्रिया हेडर भेज रहे हैं एक Accept-सीमाओं?

+1

शायद मैं अपने मूल प्रश्न में बहुत स्पष्ट नहीं था: मैं बस वीडियो के बफर किए गए हिस्से में जाना चाहता हूं, इसलिए इस समय बाइट रेंज अनुरोध आवश्यक नहीं होना चाहिए। –

-1

/वीडियो कि हेवन ' टी अभी तक buffered, Vimeo/यूट्यूब खिलाड़ियों की तरह कुछ .. Tbh मुझे यकीन नहीं है कि यह संभव है, क्योंकि मैंने html5 medial तत्वों के कुछ उदाहरणों को देखा है और उन्होंने मुझे अभी तक जाने की अनुमति नहीं दी unbuffered भागों :(

यदि आप buffered भाग के माध्यम से खोजना चाहते हैं - तो यह कोई समस्या नहीं है। वास्तव में - आप हैं जहां तक ​​मैं समझता हूं, यहां अपने लिए एक समस्या पैदा करना। आप फ़ाइल को स्ट्रीम करना चाहते हैं, और यह क्या करता है खिलाड़ी को लगता है कि आपके पास कुछ प्रकार की लाइव स्ट्रीम है। यदि आपने अभी फ़ाइल सीधे भेज दी है - तो आपको यह समस्या नहीं होगी, क्योंकि खिलाड़ी पूरी फ़ाइल लोड करने से पहले खेलना शुरू कर पाएगा। यह ऑडियो और वीडियो दोनों तत्वों के साथ ठीक काम करता है, और मैंने क्रोम और एफएफ दोनों में इस व्यवहार की पुष्टि की है :)

आशा है कि इससे मदद मिलती है!

+0

मैं स्थानीय नीतियों के कारण सीधे एक क्लाइंट प्लेयर को फ़ाइल खाने में असमर्थ हूं। जब मैं प्लेबैक को पुनरारंभ करता हूं या शुरुआत की तलाश करता हूं, तो कोई नया अनुरोध नहीं किया जा रहा है, यह buffered से खेलता है। मैं कहीं और नहीं खोज सकता। – Qwerty

-1

शायद यह html5 audio player example हमें नए तत्व और इसकी .load, .play, .currentTime, आदि विधियों को समझाएगा और प्रदर्शित करेगा।

मैं तत्वों की एक सरणी का उपयोग करता हूं और वर्तमान समय की स्थिति निर्धारित कर सकता हूं। हम ईवेंट की अनुमति देने से पहले इंतजार करने के लिए ईवेंटहैंडर्स (उदा। 'लोडडेटा') का भी उपयोग कर सकते हैं।

पिंग और एचटीएमएल 5 :)

5

सुनिश्चित करें कि सर्वर रेंज अनुरोध स्वीकार बनाने के साथ मज़ा है, तो आप अगर Accept-Ranges शीर्षक में है देखने के लिए जाँच कर सकते हैं। JPlayer में यह प्रगति और कार्यक्षमता की तलाश करने पर वेबकिट (विशेष रूप से क्रोम) ब्राउज़र में एक आम समस्या है।

हो सकता है कि आप jplayer का उपयोग नहीं कर रहे हों, लेकिन आधिकारिक वेबसाइट पर सर्वर प्रतिक्रिया जानकारी कुछ उपयोग हो सकती है।

http://www.jplayer.org/latest/developer-guide/#jPlayer-server-response

+0

jplayer को इंगित करने के लिए धन्यवाद - विश्वास नहीं कर सकता कि मैंने – acatalept

+0

से पहले इसके बारे में नहीं सुना था! एक जादू की तरह काम किया। सीक पर काम नहीं कर रहा था, लेकिन फ़ायरफ़ॉक्स और सफारी पर काम कर रहा था। हेडर में स्वीकार्य-रेंज जोड़ा गया और काम करना शुरू कर दिया। –

-2

लेकिन मैं एक ही समस्या थी। मीडिया फ़ाइल प्रतिक्रिया के लिए कुछ शीर्षलेख सेट करना आवश्यक है।

उदाहरण के रूप में

:

Accept-Ranges:bytes 
Content-Length:7437847 
Content-Range:bytes 0-7437846/7437847 

तब ऑडियो टैग

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