有没有在Windows Phone 8应用中缓冲视频?
我想创建一个应用程序来缓冲最后30秒左右的视频,以便用户可以点击屏幕并获取一个视频文件,其中包含在点击屏幕之前拍摄的30秒视频。
我查看了.NET CaptureSource API和仅限WP8的AudioVideoCaptureDevice,它们看起来都像是直接记录到IsolatedStorage
上的文件中:
对于CaptureSource,您可以使用FileSink对象来编写录制视频的mp4文件。
对于AudioVideoCaptureDevice
,您可以写信给RandomAccessStream
。 WP8没有InMemoryRandomAccessStream
,所以我看到获得RandomAccessStream
的唯一方法是从存储文件中创建一个。
对于CaptureSource
,你可以编写自己的VideoSink类来缓冲视频并使用它来代替FileSink,但是你会被困在使用Raw视频数据,而你必须自己编写编码器使其成为像mp4一样的形式。
除非您编写自己的编码器,否则我有什么遗漏,或者在WP8上暂时无法缓冲视频?
答案 0 :(得分:0)
我不确定你能做到这一点...出于各种原因...也许你可以在内存中缓存视频,制作你自己的IRandomAccessStream实现但是......如你所说,你需要在第一个实例中播放使用RAW视频和依赖分辨率,30秒的原始视频和音频可以超过应用程序允许的总内存,因此您可以让系统关闭您的应用程序。
我不知道您是否可以使用媒体元素播放视频而不向用户显示视频,当用户点击播放时,回放到“开始”位置并将其显示给用户,因为操作系统会自动缓存流式视频(这是一个好主意......我不会测试这个......)
抱歉没有开始更有用:(