当前位置: 首页 > 知识库问答 >
问题:

从xamariniOS应用程序内的内存流播放视频

查锦程
2023-03-14

我正在用xamarin开发一个应用程序,用户可以用它来播放电影。我需要应用程序从内存流播放电影,而不是直接从url或文件。是否有一个播放器控件或库,我可以使用它来播放来自mmemory流的电影?

共有2个答案

喻昀
2023-03-14

一般它最好使用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

不太理想,但应该可以。

公孙智
2023-03-14

由于没有可以使用的API,所以可以将媒体文件的内存表示流式传输到url。

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

new NSUrl ("http://127.0.0.1:9000/myfile.mov")
 类似资料:
  • 我将从REST服务接收非常短的音频数据。它们将以WAV格式到达。然后我需要在Android设备上播放它们。我想在不将数据保存到文件的情况下完成这项工作——这只会让它变得比需要的更复杂。然而,我无法从内存流让它工作。下面是我正在使用的测试代码(使用assets文件夹中的.wav文件): 当我从文件中播放它时,它是好的,但是内存流方法给了我一个IO异常准备失败错误。我怀疑问题可能是音频/wav值。我找

  • 我使用下载管理器将文件下载到外部存储器。我使用设置下载文件夹的目标 成功后,我用 这给了我这个 现在我试着用intent播放这个视频文件 这里的内容Uri是 但当我使用action\u share intent时,它也不会被其他应用程序识别。 此外,必须删除包含file://的文件uri,并将其替换为/storage/emulated/0/Download/dishapatani\u Jan 07

  • 我是否正确理解了客户端模式的文档? 客户端模式与驱动程序在应用程序主程序中运行的集群模式相反? 在客户端模式下,驱动程序和应用程序主程序是独立的进程,因此+必须小于计算机的内存? 在客户端模式下,驱动程序内存不包括在应用程序主内存设置中吗?

  • 我想使用gstreamer进行网络传输。目的是启动视频内容(从发射机)并在接收机端播放。我编写了一个用于对网络内容进行流式传输的示例测试代码。 在发射机侧:GST\u DEBUG=“*:2”GST-launch-1.0 videotestsrc!视频/x-raw!jpegenc!rtpjpegpay!udpsink主机=127.0.0.1端口=5001 在接收器端:GST\u DEBUG=“*:2

  • 使用AVCaptureSession重建应用程序(文件路径url保存到coreData)时不播放视频 文件路径在重建前后未更改。 file:///private/var/mobile/Containers/Data/Application/3DA93FBC-9A20-40B4-A017-B3D5C7768301/tmp/63F6CEED-3202-4F5F-999B-5F138D73635D.mp

  • 如何继续播放视频时,我们按下主页按钮和应用程序转到后台?那时,我们仍然可以听音频并在另一个应用程序上工作。我们应该添加服务来控制视频播放吗?