我在这里使用微软的示例应用程序:
http://msdn.microsoft.com/en-us/library/hh394041(v=vs.92).aspx
作为开发应用程序的起点,该应用程序允许用户将应用程序中的多个视频录制到集合中。
实现这一目标的最佳方法是什么?我注意到该示例使用fileSink对象在隔离存储中指定捕获源和文件名。
Private Sub StartVideoRecording()
Try
' Connect fileSink to captureSource.
If captureSource.VideoCaptureDevice IsNot Nothing AndAlso captureSource.State = CaptureState.Started Then
captureSource.Stop()
' Connect the input and output of fileSink.
fileSink.CaptureSource = captureSource
fileSink.IsolatedStorageFileName = isoVideoFileName
End If
' Begin recording.
If captureSource.VideoCaptureDevice IsNot Nothing AndAlso captureSource.State = CaptureState.Stopped Then
captureSource.Start()
End If
' Set the button states and the message.
UpdateUI(ButtonState.Recording, "Recording...")
' If recording fails, display an error.
Catch e As Exception
Me.Dispatcher.BeginInvoke(Sub() txtDebug.Text = "ERROR: " & e.Message.ToString())
End Try
End Sub
然后我如何查询该集合并允许用户选择该视频以在列表视图中查看?有没有办法指定一个文件夹来保持视频文件的有序组织?
只是寻找一些关于最佳实践的建议来完成这项工作。我想使用一个视频选择器,允许用户从他们的照片卷中选择一个视频,但Windows Phone目前不允许这样做......
答案 0 :(得分:1)
那么,是否需要使用文件夹?没有人可以浏览ISO存储,所以我认为不需要文件夹:)。
使用该教程,创建了两个文件:" CameraMovie.mp4"和#34; CameraMovie.mp4.jpg" (jpg至少在我的手机上创建,使用ISETool查看ISO存储的内容)。
要录制多个视频,您每次都必须重命名文件
private string isoVideoFileName = "CameraMovie.mp4";
// reset the name when the recording starts
isoVideoFileName = DateTime.Now.ToString("yyyy-MM-dd_HH_mm") + ".mp4";
在开始录制时只需更改该变量。
在每次录制结束时,将视频名称添加到列表中,添加视频后,即可保存列表(也可以保存到ISO存储中)。 在加载应用程序时,您从ISO加载列表,使用jpg'制作视频图块(或者您想要使用它;)
希望这会对你有所帮助,如果没有你找到解决方案的话。
注意,我很抱歉使用C#,而你使用VB。然而,我不熟悉VB,随意键入它;)