1

无论如何在 Windows Phone 8 应用程序中缓冲视频?

我想创建一个应用程序来缓冲最后 30 秒左右的视频,以便用户可以点击屏幕并获取一个视频文件,其中包含在他们点击屏幕之前拍摄的 30 秒视频。

我查看了 .NET CaptureSource API 和仅 WP8 的 AudioVideoCaptureDevice,两者看起来都像是直接录制到以下文件中IsolatedStorage

  1. 对于 CaptureSource,您使用 FileSink 对象来编写录制视频的 mp4 文件。

  2. 因为AudioVideoCaptureDevice你可以写一个RandomAccessStream. WP8 没有InMemoryRandomAccessStream,所以我看到的唯一方法RandomAccessStream是从存储文件创建一个。

因为CaptureSource您可以编写自己的 VideoSink 类来缓冲您的视频并使用它而不是 FileSink,但是您将无法处理原始视频数据,并且您必须编写自己的编码器才能将其变成正式的一个mp4。

有什么我遗漏的,或者除非您编写自己的编码器,否则在 WP8 上无法缓冲视频?

4

1 回答 1

0

我不确定你可以这样做......出于各种原因......也许你可以在内存中缓存视频,制作你自己的 IRandomAccessStream 实现但是......正如你所指出的,你需要在第一个实例中播放 RAW 视频,并且取决于分辨率,30 秒的原始视频和音频的权重可能超过应用程序允许的总内存,因此您可以让系统关闭您的应用程序。

我不知道您是否可以使用 mediaelement 播放视频而不向用户显示,当用户单击播放时,倒退到开始位置并将其显示给用户,因为操作系统会自动缓存流式视频(这是好主意……无论如何我都不测试这个……)

抱歉没有开始更有用:(

于 2013-08-02T12:54:52.897 回答