2010-11-16 20 views
27

Oggi per una delle mie app (Android 2.1), volevo trasmettere un video da un URL.Streaming video e Android

Per quanto ho esplorato Android SDK è abbastanza buono e mi è piaciuto quasi ogni pezzo di esso. Ma ora che si tratta di flusso video, sono un po 'perso.

Per qualsiasi informazione su Android SDK hai migliaia di blog che ti dicono come farlo. Quando si tratta di streaming video, è diverso. Le informazioni sono così abbondanti.

Ognuno ha fatto il suo modo di ingannare qua e là.

Esiste una procedura ben nota che consente di trasmettere un video in streaming?

Google ha pensato di rendere più semplice per i suoi sviluppatori?

+0

Ciao hai provato lo streaming di file .ism su Android? – Dhina

risposta

34

Se si desidera avere solo il sistema operativo riprodurre un video utilizzando il lettore di default si usa un intento simile a questo:

String videoUrl = "insert url to video here"; 
Intent i = new Intent(Intent.ACTION_VIEW); 
i.setData(Uri.parse(videoUrl)); 
startActivity(i); 

Tuttavia, se si desidera creare una vista se stessi e streaming di video ad esso, uno approccio è quello di creare una videoview nel layout e utilizzare il mediaplayer per lo streaming di video ad esso. Ecco il VideoView in xml:

<VideoView android:id="@+id/your_video_view" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
/> 

Poi, nel onCreate nella vostra attività si trovano la vista e avviare il lettore multimediale.

VideoView videoView = (VideoView)findViewById(R.id.your_video_view); 
    MediaController mc = new MediaController(this); 
    videoView.setMediaController(mc); 

    String str = "the url to your video"; 
    Uri uri = Uri.parse(str); 

    videoView.setVideoURI(uri); 

    videoView.requestFocus(); 
    videoView.start(); 

Scopri i migliori ascoltatori VideoView per essere avvisato quando il video è finito di giocare o si verifica un errore (VideoView.setOnCompletionListener, VideoView.setOnErrorListener, ecc).

+0

Grazie per la risposta. In realtà sono interessato alla prima opzione. Tuttavia, quando lo distribuisco al telefono, Android mi chiede Internet o MediaPlayer sapete come sbarazzarsi di esso e andare mediap player per impostazione predefinita? – Spredzy

+0

Spiacente, non conosco un modo generico per forzare Android ad andare direttamente al video player del telefono. So che se i video sono impostati per il download progressivo, verrà visualizzata la finestra di dialogo di Android che ti chiede se desideri utilizzare il browser o il video player. I video impostati per lo streaming RTSP si apriranno solo nel lettore video. –

+0

OK. Grazie comunque ottima risposta. – Spredzy