2012-06-30 28 views
29

Canlı bir akıştan video oynayabilecek bir Android tabanlı uygulama geliştirmeye çalışıyorum. Bu canlı yayın Wowza Media Server kullanılarak üretilmiştir.Bir Android uygulamasında RTSP akışı oynatma

URL:

rtsp://tv.hindiworldtv.com:1935/live/getpun 

ben ecliplse kod aşağıdaki denedi: İlk başta

package com.kalloh.wpa; 

import android.app.Activity; 
import android.content.pm.ActivityInfo; 
import android.net.Uri; 
import android.os.Bundle; 
import android.view.Window; 
import android.widget.MediaController; 
import android.widget.VideoView; 


public class a extends Activity { 

    VideoView videoView; 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

     //Create a VideoView widget in the layout file 
     //use setContentView method to set content of the activity to the layout file which contains videoView 
     this.setContentView(R.layout.videoplayer); 

     videoView = (VideoView)this.findViewById(R.id.videoView); 

     //add controls to a MediaPlayer like play, pause. 
     MediaController mc = new MediaController(this); 
     videoView.setMediaController(mc); 

     //Set the path of Video or URI 
     videoView.setVideoURI(Uri.parse("rtsp://tv.hindiworldtv.com:1935/live/getpnj")); 
     // 

     //Set the focus 
     videoView.requestFocus(); 
    } 
} 

, işe yaramıyordu.

Şimdi çalışmaya başladı, ancak 20 ila 30 saniye sonra durur. Bu sorunu nasıl giderebilirim?

+0

Vlc'yi kullanarak aynı sorunu yaşıyorum ve burada bir çözüm buldum (çözüm değil, yardımcı bilgiler): http://code.google.com/p/android/issues/detail?id=15229 – hungson175

+0

Artık Verilen url, Android 4 ve üzeri üzerinde çalışıyor. Ancak sorun şu ki ses sürekli değil. 2 saniye oyundan sonra 1 sn gecikme gibi bir şey .. – SJSSoft

+4

Bu sorunu nasıl çözüyorsunuz? –

cevap

1

Çözümü buldum. İletim, Android tarafından tercih edilen ayar içinde olmalıdır. Daha fazla ayrıntı için bkz. Supported Media Formats.

+4

"İletim Android tarafından tercih edilen ayarlarda olmalıdır" ile ne demek istiyorsunuz? –

+0

belki "önceden tamponlanmış" anlamına gelir. – Robert

+0

@SJSSoft Bununla ne demek istiyorsun? Çözüm nedir? – MSaudi

0

Galaxy Note N7000 (ICS 4.0.3) ve VLC 2.0.2 ile aynı sorunu yaşadım - video 60   saniye sonra ölüyor. Ama VLC media player 1.1.4'e döndüğümde, her şey iyi çalışıyor! Bu nedenle bazen ortam sunucusuna bağlıdır. YouTube'dan RTSP'yi deneyebilirsiniz (m.youtube.com adresine gidin ve ardından bazı videolara sağ tıklayın -> konum bağlantısını kopyalayın -> ihtiyacınız olan RTSP bağlantısı budur).

+0

Çözümü buldum. İletim, Android tarafından tercih edilen ayar içinde olmalıdır. Daha fazla bilgi için, plz check @ http://developer.android.com/guide/appendix/media-formats.html – SJSSoft

+0

Yerel RTSP yığını, bağlantıyı canlı tutmak için GET_PARAMETER göndermiyor olabilir ... http: // net7mma.codeplex.com/ – Jay

7

Aynı sorun ICS 4.x'te de vardı. Ayrıca, akışınız URL'un düzgün çalışıp çalışmadığını kontrol edebilirsiniz. Ayrıca this sample URL ile kodunuzu da kontrol ediniz.

+1

Bildiğimiz medyaya bir bağlantı gönderdiğiniz için teşekkür ederiz! Çok yararlı –

+0

Bu mp3 akışı için çalışmıyor, bunu denediniz mi. Ben de Wowza server –

11

VideoView kullanımı iyi bir çözümdür, ancak RTSP'yi oynamak için native player'u da kullanabiliriz. Bu bir örnektir:

medya Android Supported Media Formats ( codecs) ile oluşturulması gerekir Ayı akılda
if (movieurl.startsWith("rtsp://")) { 
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(movieurl)); 
    startActivity(intent); 
} 

.

+0

ses ilginç .......... kullanıyorum –

+2

Bunu anlamadım, bu kod yüklü bir uygulamayı mı açacak yoksa uygulamanız video görüntüleyen uygulaması mı olacak? – user1767754

+0

VideoView kullanıyorum ama oynatma/durdurma denetleyicileri çalışmıyor ... – andreasperelli

İlgili konular