我正在创建一个可以显示流式视频的Monotouch iPhone应用程序。我已经能够使MPMoviePlayerController使用本地文件(NSUrl FromFile),但无法从媒体服务器获取流式传输的视频。
以下是我用来播放视频的代码:
string url = @"http://testhost.com/test.mp4";
var nsurl = NSUrl.FromString(url);
mp = new MPMoviePlayerController(nsurl);
mp.SourceType = MPMovieSourceType.Streaming;
//enable AirPlay
//mp.AllowsAirPlay = true;
//Add the MPMoviePlayerController View
this.View.AddSubview(mp.View);
//set the view to be full screen and show animated
mp.SetFullscreen(true, true);
//MPMoviePlayer must be set to PrepareToPlay before playback
mp.PrepareToPlay();
//Play Movie
mp.Play();
在实现用于视频流的MPMoviePlayerController时,我还缺少其他东西吗?我还读到iOS的视频应该在媒体服务器上使用Apple的HTTP Live Streaming进行流式传输,这是一项要求吗?我之前从未在iOS设备上使用过视频流,因此我不确定我的代码或媒体服务器设置或组合中是否存在缺陷。
答案 0 :(得分:0)
我很确定你需要一个流媒体服务器才能使用来自HTTP网址的视频文件。但是对于应用程序(在AppStore上)来说,这是requirement:
发送大量音频的重要iPhone和iPad应用程序 通过蜂窝网络的视频数据需要使用HTTP Live 流。请参阅“应用程序要求”。
好消息是,您不必更改现有代码来处理此问题(它是服务器,而不是客户端)。