2010-03-29 16 views
10

मैं आईफोन के लिए एक प्रगतिशील डाउनलोड ऑडियो प्लेयर को लागू करने की कोशिश कर रहा हूं, http और निश्चित आकार एमपी 3 फाइलों का उपयोग कर।आईफोन प्रगतिशील डाउनलोड ऑडियो प्लेयर

मैं AudioStreamer परियोजना पाया लेकिन यह बहुत जटिल लगता है और अंतहीन धाराओं के साथ सबसे अच्छा काम करता है।

मैं ऑडियो फाइलों की कुल लंबाई पता लगाने के लिए सक्षम होना चाहिए और मैं भी फाइलों में तलाश करने के लिए सक्षम होना चाहिए। मुझे ऑडियोस्ट्रीमर से एक हैक विचलन मिला लेकिन यह मेरे लिए बहुत अच्छा काम नहीं कर रहा है। http://www.saygoodnight.com/?p=14

मैं अगर वहाँ एक आसान तरीका मेरी लक्ष्यों को प्राप्त करने के लिए है सोच रहा हूँ या अगर कोई कुछ बेहतर काम के नमूने वहाँ बाहर कर रहे हैं? मुझे बास लाइब्रेरी मिली लेकिन इसके बारे में ज्यादा दस्तावेज नहीं मिला।

/बीआर जोहानिस

+0

मैं के रूप में मैं एक ही सवाल है इस सवाल का एक इनाम जोड़ रहा - सामग्री की बचत के रूप में मैं डाउनलोड की उम्मीद के साथ/इसे खेलते हैं। कोकोविथलोव से जोड़ने के लिए – ajacian81

उत्तर

8

वहाँ दुर्भाग्य है iPhone पर ऑडियो धाराओं खेलने के बारे में सरल कुछ भी नहीं। यहां आलेख है जिसने मुझे शुरू किया: Streaming and playing an MP3 stream

यह एक ओएसएक्स प्रोजेक्ट है, लेकिन इसमें से अधिकांश आईफोन के साथ भी काम करेंगे। इसके पूर्ण प्ले टाइम प्राप्त करने के लिए, आपको शायद इसे http शीर्षलेख की सामग्री-लंबाई की संपत्ति के आधार पर समझना होगा, बशर्ते यह एक सीबीआर फ़ाइल हो। अन्यथा, मुझे लगता है कि आपको इसे निर्धारित करने से पहले पूरी फ़ाइल डाउनलोड करनी होगी।

+1

+1, मुझे वहां एक ऐप भी मिला जो मैं केवल इस रिसोर्स के साथ चल रहा था। –

4

आईफोन कूल प्रोजेक्ट्स में स्ट्रीमिंग ऑडियो के बारे में वास्तव में एक अच्छा अध्याय है। http://apress.com/book/view/9781430223573 यह एक सरल तरीका तो AudioStreamer (CFNetwork के बजाय NSURLConnection का उपयोग करना), बेहतर प्रगतिशील डाउनलोड करने के लिए अनुकूल है, और कोई बहु सूत्रण कोड को दर्शाता है।

और तुम

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 
5

में [response expectedContentLength] उपयोग कर सकते हैं आप केवल एमपी 3 फ़ाइलें खेलने के लिए की जरूरत है ऑडियो फ़ाइल का आकार, क्यों आप अपने खुद के डाउनलोडर/खिलाड़ी लिख रहे हैं यह जानने के लिए?

  • MPMoviePlayerController
  • AVPlayer
  • सफारी <audio> खिलाड़ी

मैं व्यक्तिगत रूप के साथ मुद्दों लिया है: आपके पास कुछ विकल्प आईओएस में बनाया गया, जिनमें से प्रत्येक प्रगतिशील डाउनलोड और एमपी 3 प्लेबैक का समर्थन किया है MPMoviePlayerController और AVPlayer की प्रगतिशील डाउनलोड क्षमताओं, तो शायद यह भी आपका मुद्दा है। मैंने पाया है कि ये खिलाड़ी एमपी 3 कई बार अनुरोध करके स्मार्ट होने का प्रयास करते हैं, यह देखने के लिए कि सर्वर http रेंज ऑफसेट के माध्यम से प्रगतिशील डाउनलोड का समर्थन करता है या नहीं। लेकिन जब सर्वर रेंज ऑफ़सेट का समर्थन नहीं करता है तो फ़ाइल बैंडविड्थ (!) खाने से कई बार डाउनलोड की जाती है।

मेरा नवीनतम परियोजना में मैं एक UIWebView एक एचटीएमएल <audio> टैग एम्बेडेड होने एम्बेडेड। सफारी खिलाड़ी AVPlayer और MPMoviePlayerController से बेहतर व्यवहार करता प्रतीत होता है, लेकिन इसकी अपनी खुद की चेतावनी भी थी। एक के लिए, काम करने के लिए ऑटोप्ले प्राप्त करना एक पिटा था।

1

मैं जानता हूँ कि यह एक नहीं बल्कि पुराने पोस्ट है, लेकिन खुला स्रोत है कि एक ठोस पुस्तकालय का सुझाव देना चाहता था। यह मैट गैलाघर की मूल पोस्ट पर आधारित है जो ऊपर @pzearfoss द्वारा अनुशंसित है। वर्तमान संस्करण ऑडियोक्यूयू कक्षाओं के बजाए ऑडियोयूनीट्स का उपयोग करता है, इसलिए यह आपको किसी भी मैनिपुलेशन के लिए कच्चे पीसीएम नमूने तक पहुंच प्रदान करता है जिसे आप प्लेबैक से पहले बनाना चाहते हैं (फ़िल्टरिंग आदि)।यह आपको कम से कम प्रयास के साथ, प्रगतिशील डाउनलोड क्षमताओं को मुफ्त में भी देता है। लाइब्रेरी को सक्रिय रूप से अपडेट किया जा रहा है जो एक बड़ा प्लस है!

StreamingKit by @tumtumtum