【发布时间】:2014-04-09 08:24:50
【问题描述】:
我正在 xamarin 中构建一个用户将用于播放电影的应用程序。我需要该应用程序从内存流中播放电影,而不是直接从 url 或文件中播放。 是否有播放器控件或库可用于从 mmemory 流中播放电影?
【问题讨论】:
标签: xamarin.ios xamarin
我正在 xamarin 中构建一个用户将用于播放电影的应用程序。我需要该应用程序从内存流中播放电影,而不是直接从 url 或文件中播放。 是否有播放器控件或库可用于从 mmemory 流中播放电影?
【问题讨论】:
标签: xamarin.ios xamarin
通常最好使用MPMoviePlayerViewController (doc 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
不是很理想,但应该可以。
【讨论】:
MPMoviePlayerController 和 NSUrl 可以获取您的网址并播放电影。问这个问题的人有一个MemoryStream,那是他们的问题。
由于没有可以使用的 API,您可以做的是在 url 上流式传输媒体文件的内存中表示。
使用 HttpListener 类创建一个嵌入到应用程序中的 HTTP 服务器,让它监听端口 9000,然后让电影播放器使用这样的 NSUrl:
new NSUrl ("http://127.0.0.1:9000/myfile.mov")
【讨论】: