在Android应用程序中播放RTSP流媒体

SJS*_*oft 36 streaming android live rtsp wowza

我正在尝试开发一个基于Android的应用程序,它可以从实时流播放视频.此直播流使用Wowza Media Server生成.

URL是:

rtsp://tv.hindiworldtv.com:1935/live/getpun
Run Code Online (Sandbox Code Playgroud)

我试过在ecliplse中使用以下代码:

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();
    }
}
Run Code Online (Sandbox Code Playgroud)

起初它没有用.

现在它开始工作,但它在20到30秒后停止.我该如何解决这个问题?

Jor*_*sys 14

使用VideoView是一个很好的解决方案,但我们也可以使用它native player来播放RTSP.这是一个例子:

if (movieurl.startsWith("rtsp://")) {
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(movieurl));
    startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)

请记住,您的媒体必须使用Android支持的媒体格式(编解码器)创建.

  • 我不明白,这段代码会打开已安装的应用程序,还是您的应用程序是视频显示应用程序? (3认同)

Mur*_*ali 9

我在ICS 4.x中也有同样的问题.此外,您还可以检查流URL是否正常工作.

另请使用此示例网址检查您的代码.

  • 感谢您发布指向我们知道有效的媒体的链接!很有帮助 (2认同)

SJS*_*oft -3

我找到了解决方案。传输应在 Android 的首选设置范围内。有关更多详细信息,请参阅支持的媒体格式

  • 您找到了解决方案,但似乎您无法给出如何解决它的示例? (7认同)
  • “传输应在 Android 的首选设置范围内”是什么意思? (5认同)