मैं एचटीएमएल 5 ऑडियो पूरी तरह से .aspx पेज के लिए बाइनरी डेटा की सेवा कर रहा हूं। फ़ाइल खेला जा सकता है लेकिन सेकरबार में एक समस्या है और सफारी (आईपैड), क्रोम और फ़ायरफ़ॉक्स में फिर से चल रहा है।
संपादित करें मैंने कोड (पूर्ण रूप से बहुत ज्यादा नहीं) कोड और पूर्ण लिस्टिंग प्रस्तुत की है (पृष्ठ फ़ाइल का नाम स्पष्ट रूप से play.aspx है)।<audio> के लिए डेटा को सही तरीके से कैसे प्रदान करें?
<%@ Page Language="C#" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (Request["filename"] != null)
{
string FilePath = MapPath(Request["filename"]);
long fSize = (new System.IO.FileInfo(FilePath)).Length;
//Headers
Response.AddHeader("Content-Length",fSize.ToString());
Response.ContentType = "audio/mp3";
//Data
Response.WriteFile(FilePath);
Response.End();
};
}
</script>
<body>
<p>Direct</p>
<audio controls="controls" preload="none">
<source src="sound.mp3" type="audio/mp3" />
</audio>
<p>Provided</p>
<audio controls="controls" preload="none">
<source src="play.aspx?filename=sound.mp3" type="audio/mp3" />
</audio>
</body>
</html>
तो Content-Length
और Content-Type
हेडर आपूर्ति की जाती है। दो <audio>
टैग जब फ़ाइल को सीधे या पूरी तरह से एक .aspx पृष्ठ तक पहुंचाया जाता है तो व्यवहार की तुलना करने में सक्षम बनाता है।
सवाल सभी आवश्यक ब्राउज़रों (एफएफ, सफारी, क्रोम, IE9 +) पर सही ढंग से <audio>
टैग व्यवहार करने के लिए डेटा प्रदान करने के लिए कैसे है।
समस्याएं
सफारी (iPad): जब प्ले बटन ध्वनि खेला जाता है दबाया जाता है लेकिन वहाँ है "स्ट्रीमिंग ..." के बजाय शोध बार और खेल हमेशा के लिए लगते हैं और ध्वनि नहीं कर सकते दोबारा खेलें
फ़ायरफ़ॉक्स (विंडोज़): सीक बार प्रदर्शित होता है लेकिन अंत तक बढ़ता समय दिखाता है और फिर से चलाए जाने पर सही तरीके से व्यवहार करता है।
क्रोम (विंडोज़): बार सही खोजें लेकिन फिर से नहीं चलाया जा सकता है।
आईई 10: ठीक
मुझे इसी तरह के प्रश्न मिल गए हैं लेकिन उत्तर के बिना। फिडलर के साथ एक और पेज देखने से ऐसा लगता है कि हेडर Accept-Ranges: bytes
और Content-Range: bytes 0-8100780/8100781
मदद कर सकता है। हालांकि आवश्यक सुविधाएं प्रदान करना बहुत मुश्किल लगता है, इसलिए मैंने कोशिश नहीं की।
नोट मैं How to play .m4a with HTML5 audio in IE(9+) and Safari (Pad)?
आपको इसके बजाय जेप्लेयर पर एक नज़र रखना चाहिए, यह आपके लिए बनाया गया है, जो ब्राउज़र के लिए फ़ॉलबैक के साथ है जो HTML5 का समर्थन नहीं करता है http://jplayer.org/ – mattytommo
@mattytommo: jplayer अच्छा है। हालांकि मुझे लगता है कि अब ब्राउज़र पर मुझे एचटीएमएल 5 ऑडियो के साथ एक ही समस्या का सामना करना पड़ेगा (स्रोत डेटा नियंत्रण द्वारा सही ढंग से स्वीकार नहीं किया जाता है)। – IvanH