在xamarin iOS应用程序内播放内存流中的视频

时间:2014-03-06 15:32:09

标签: xamarin.ios xamarin

我正在xamarin中构建一个用户将用于播放电影的应用。我需要应用程序从内存流中播放电影,而不是直接从网址或文件中播放。 是否有一个播放器控件或库可以用来播放来自mmemory流的电影?

2 个答案:

答案 0 :(得分:3)

由于您没有可以使用的API,您可以做的是在网址上传输媒体文件的内存中表示。

使用HttpListener类创建应用程序中嵌入的HTTP服务器,让它在端口9000上侦听,然后让电影播放器​​使用这样的NSUrl:

new NSUrl ("http://127.0.0.1:9000/myfile.mov")

答案 1 :(得分:1)

通常最好使用MPMoviePlayerViewControllerdoc here)在iOS上播放视频。可悲的是,它需要NSUrl来播放视频。

要使用它,您需要做的是将流保存到临时文件中。

如:

string path = Path.GetTempFilename();
using (var yourStream = GetYourStream())
using (var fileStream = File.Create(path))
{
    await yourStream.CopyToAsync(fileStream);
}

var controller = new MPMoviePlayerViewController(NSUrl.FromFilename(path));
//show the controller

不太理想,但它应该有效。