繁体   English   中英

在Xamarin Android设备(4.4+)上播放H264视频/音频流(来自现有RTP会话)

[英]Play H264 Video/Audio Stream (from existing RTP session) on Xamarin Android device (4.4+)

我现在正在Xamarin上为Android开发一个应用程序,更改IOS。 我已经作为客户端成功启动了SIP会话并获得了SDP。

通过会话描述,我似乎也成功启动了RTPClient(我正在使用托管媒体聚合( https://net7mma.codeplex.com/ ))。

我得到一个以Media Port结尾的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连接)。

非常感谢,周末愉快!

埃里克

您应该将外部组件(例如Google ExoPlayer)用于编码媒体。 有一个可用的Nuget软件包: https//github.com/martijn00/ExoPlayerXamarin

那是我的项目...(net7mma)例如我是作者...

您可以很容易地使用Rtsp或Rtp客户端,我最近在Android中对此进行了验证。

如果您有特定的问题,请在项目的主页中创建一个线程,我将予以解决。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM