2012-06-13 16 views
25

मांगना हमारे पास एक प्रदाता है जो हमें एचएलएस धाराओं के लिए m3u8 फाइलें देता है (मूल रूप से आईओएस ऐप में उपयोग के लिए लक्षित)।एंड्रॉइड 3.0 पर एचएलएस (http लाइव स्ट्रीमिंग) और

एंड्रॉइड 3.0+ http लाइव स्ट्रीमिंग (http://developer.android.com/guide/appendix/media-formats.html) का समर्थन करता है - और हम वास्तव में एंड्रॉइड 3.0+ पर मानक वीडियो व्यू का उपयोग करके इन m3u8 फ़ाइलों को चला सकते हैं ।

संपादित करें: एंड्रॉइड इसे "रीयल-टाइम" वीडियो फ़ीड के रूप में पेश करता है, और वीडियो अवधि की तलाश या गणना करने की क्षमता को अक्षम करता है। (जहां-जैसे आईओएस आप बिना किसी मुद्दे के स्ट्रीम में खोजते हैं)

क्या इन फ़ाइलों के भीतर एंड्रॉइड 3.0+ को मजबूर करने का कोई तरीका है?

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.MediaController; 
import android.widget.VideoView; 

public class SandboxActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     VideoView vw = (VideoView) findViewById(R.id.videoView); 
     vw.setVideoPath("http://devimages.apple.com/iphone/samples/bipbop/gear4/prog_index.m3u8"); 
     vw.setMediaController(new MediaController(this)); 
     vw.requestFocus(); 
     vw.start(); 
    } 
} 

और एक नमूना लेआउट:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="center" android:id="@+id/root"> 

    <VideoView 
     android:id="@+id/videoView" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" /> 
</RelativeLayout> 

यह एप्पल से एक नमूना एचएलएस लिंक उपयोग कर रहा है

यहाँ दूसरों के साथ परीक्षण करने के लिए के लिए एक नमूना गतिविधि है।

+0

क्या आपको अंत में इस समस्या का समाधान मिला? –

+0

मैं एचएलएस लाइव स्ट्रीम में भी तलाश करना चाहता हूं। क्या आपको कोई समाधान मिला? –

उत्तर

13

देखो (जो आप भी कहा गया है) page

इसे कहते हैं:

  • प्रोटोकॉल संस्करण 3 (Android 4.0 और इसके बाद के संस्करण)
  • प्रोटोकॉल संस्करण 2 (एंड्रॉयड 3.x)

और यहाँ आप जाँच कर सकते हैं draft's for HLS। आप पृष्ठ के शीर्ष पर एक संस्करण चुन सकते हैं।

मसौदा 3 में दिखाई दिया की मांग सबसे पहले संदर्भ

मूल्य तारीख से (2 एंड्रॉयड 3.x का मसौदा तैयार करने की तुलना) और समय के लिए एक उपयुक्त करने के लिए मीडिया के समय का एक जानकारीपूर्ण मानचित्रण प्रदान करता है दीवार-घड़ी समय है, जो

बस सुनिश्चित करने के लिए मांग के लिए एक आधार के रूप में इस्तेमाल किया जा सकता है। मैंने पूरे मसौदे के माध्यम से नहीं पढ़ा। लेकिन, मेरा अनुमान यह होगा कि एंड्रॉइड ने एंड्रॉइड 3.0 में काफी शुरुआती ड्राफ्ट लागू किया था और उन्होंने इसे आंशिक रूप से लागू किया होगा, जो खेलने के लिए पर्याप्त है, लेकिन यह खोजना पर्याप्त नहीं है।

मुझे नहीं लगता कि आप 3 पार्टी एचएलएस ग्राहक में brining को छोड़कर इस के लिए एक आसान ठीक है, कि (जैसा कि vipw ने सुझाव दिया)

5

क्षमा करें दोस्तों, आप एक पत्थर से रक्त प्राप्त करने की कोशिश कर रहे हैं। एंड्रॉइड 3.0 एचएलएस के बहुत सीमित सबसेट का समर्थन करता है, और लाइव स्ट्रीम में मांग करने के लिए आपको Google की तुलना में बेहतर एचएलएस क्लाइंट की आवश्यकता होगी। इस पर

1

इम यकीन है कि लेकिन VideoView के बाद से नहीं अपने मामले के लिए मांग का समर्थन नहीं कर रहा है, आप कुछ अलग-अलग विकल्पों को आजमा सकते हैं जैसे: http://wiki.videolan.org/AndroidCompile (जो संकलित करना आसान है)

0

कुछ हद तक इससे संबंधित - ऐसा लगता है कि लाइव एचएलएस फीड लाइव पॉइंट पर शुरू होने से रोकती है। मुझे कल्पना है कि यह सीमा की मांग के कारण हो सकता है। जब आप एंड्रॉइड पर लाइव एचएलएस फीड (जिसमें EXT-X-ENDLIST टैग नहीं है) शुरू करते हैं, तो कोर एचएलएस पार्सिंग घटकों में एक बग है जो लाइव पॉइंट (फ़ीड के अंत) में शुरू करने में विफल रहता है, और इसके बजाय धारा की शुरुआत में शुरू होता है।

एक बग इस बारे में code.google.com पर दर्ज नहीं है - आप कर सकते हैं 'स्टार' या वहाँ यह वोट दें:

http://code.google.com/p/android/issues/detail?id=37156

0

मेरा अनुमान है की मांग व्यवहार आप वर्णित Iframe का उपयोग करके लागू किया गया था केवल प्लेलिस्ट (# EXT-XI-FRAMES-only), जिसके लिए एक क्लाइंट की आवश्यकता होती है जो पैंटोस स्पेस के कम से कम संस्करण 4 का समर्थन करता है।

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