0

我在这里使用微软的示例应用程序:

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 目前不允许这样做.....

4

1 回答 1

1

那么,有必要使用文件夹吗?没有人可以浏览 ISO 存储,所以我认为不需要文件夹 :)。

使用该教程,创建了两个文件:“CameraMovie.mp4”和“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 的了解还不够,无法随意输入;)

于 2013-01-24T00:39:56.643 回答