更新:我通过使用用于android的vlc-sdk来解决这个问题。
因此,我面临的问题是,我有一个URL,它提供一个来自IP摄像头的流。
就像
rtsp://192.168.x.xxx:8554/BWC
注意:没有像.mp4或.mov这样的扩展。
我在我的计算机上和Android应用程序"rtsp“中尝试了VLC播放器中的URL,两者都可以工作。他们都给我看了摄像头上的溪流。
现在我需要编写一个应用程序,它也显示来自摄像机的流,我必须用Xamarin编写它。
我有以下代码:
[Activity(Label = "StreamActivity", ScreenOrientation = ScreenOrientation.Portrait, HardwareAccelerated = true, Theme = "@style/Theme.AppCompat.Light.NoActionBar")]
public class StreamActivity : AppCompatActivity
{
String urlPrefix = "rtsp://";
String urlSuffix = ":8554/BWC";
VideoView streamView { get; set; }
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.StreamView);
var ipAddress = Intent.GetStringExtra("ip");
var url = urlPrefix + ipAddress + urlSuffix;
var vidUri = Android.Net.Uri.Parse(url);
streamView = FindViewById<VideoView>(Resource.Id.view_stream);
streamView.SetMediaController(new MediaController(this));
streamView.SetVideoURI(vidUri);
streamView.RequestFocus();
streamView.Start();
}
}在主要活动中,我只需输入IP并按下按钮,然后StreamActivity就开始了,但是在我按下按钮之后,新的活动就开始了,我收到了一条错误消息:
不能播放这个视频
在LogCat中,我得到以下警告和错误:
11-11 18:14:56.594: W/MediaPlayer(18879):无法打开rtsp://192.168.4.103:8554/BWC: java.io.FileNotFoundException:无内容提供者: rtsp://192.168.4.103:8554/BWC
和
11-11 18:15:43.688: E/MediaPlayer(18879):错误(100,0)
任何帮助都将不胜感激!
发布于 2017-11-15 15:34:47
有一种叫做激增的解决方案可能会有所帮助-- https://instil.co/surge/
发布于 2019-02-25 08:18:19
您可以尝试在前缀和IP之间添加用户名和密码。
var url = urlPrefix + username + ":" + password + "@" + ipAddress + urlSuffix;https://stackoverflow.com/questions/47240670
复制相似问题