我正在开发一款适用于Android的Xamarin App,改变IOS。 我已成功启动SIP会话作为客户端并获得了SDP。
使用会话描述我启动了我的RTPClient(我正在成功使用托管媒体聚合(https://net7mma.codeplex.com/)。
我得到一个以媒体端口结尾的URI。
我尝试了不同的方式播放该流:
Android.Widget.VideoView:
videoview.SetVideoURI(Android.Net.Uri.Parse(fullPath));
videoview.Start();
在我的案例中,在弹出框“无法播放视频”或类似的东西中说。
所以我尝试了Android.Media.MediaPlayer:
player.Reset();
player.SetDataSource(fullPath);
player.Prepare();
遇到异常并
player.PrepareAsync();
似乎无处可去。
这些是否应该以某种方式起作用,我只是做错了吗?
或者我是否必须提供更多信息,例如H.264解码,640x480像素以及我从SDP媒体描述中准确知道的更多内容?
我已经看过Android的MediaFormat和MediaCodec类,但仍然不知道如何将它们完全用于我的情况(使用已知媒体描述的RTP连接)。
非常感谢并度过了愉快的周末!
埃里克
答案 0 :(得分:1)
您应该使用Google ExoPlayer等外部组件来编码媒体。有一个Nuget包可用于此:https://github.com/martijn00/ExoPlayerXamarin
答案 1 :(得分:0)
这是我的项目...(net7mma),例如我是作者......
您可以非常轻松地使用Rtsp或Rtp客户端,我最近在Android中验证了这一点。
如果您有具体问题,请在项目主页中填写一个主题,我会解决。