Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法打开mp4';C#UWP应用程序中的MediaCapture制作的s_C#_Video_Uwp_Windows Media Player - Fatal编程技术网

无法打开mp4';C#UWP应用程序中的MediaCapture制作的s

无法打开mp4';C#UWP应用程序中的MediaCapture制作的s,c#,video,uwp,windows-media-player,C#,Video,Uwp,Windows Media Player,我正在用C#编写一个UWP应用程序,它使用摄像头拍摄视频 我的测试应用程序很简单:开始录制,等待五秒钟,然后停止录制。它将把录音保存为mp4 但是,在运行此应用程序后,我无法使用Windows 10应用程序电影和电视播放mp4。当我双击文件时,什么也不会发生。我甚至不能打开电影和电视;当我从“开始”菜单双击它时,也不会发生任何事情 但是,我可以用非Windows应用商店应用程序Windows Media Player“打开…”mp4。在阅读了问题以及如果您没有正确清理代码中的MediaCaptu

我正在用C#编写一个UWP应用程序,它使用摄像头拍摄视频

我的测试应用程序很简单:开始录制,等待五秒钟,然后停止录制。它将把录音保存为mp4

但是,在运行此应用程序后,我无法使用Windows 10应用程序电影和电视播放mp4。当我双击文件时,什么也不会发生。我甚至不能打开电影和电视;当我从“开始”菜单双击它时,也不会发生任何事情

但是,我可以用非Windows应用商店应用程序Windows Media Player“打开…”mp4。在阅读了问题以及如果您没有正确清理代码中的MediaCapture对象,其他应用程序可能会挂起;我的理论是,我没有正确地清理媒体捕获;Windows应用商店应用程序电影和电视因此受到影响,但非Windows应用商店应用程序Windows Media Player仍可以播放视频

以下是代码的重要部分:

网络摄像头课程:

    public async void InitVideo()
    {
        mediaCapture = new MediaCapture();
        await mediaCapture.InitializeAsync();
    }

    public async void RecordVideo(string fileName)
    {
        recordStorageFile = await Windows.Storage.KnownFolders.VideosLibrary.CreateFileAsync(fileName, Windows.Storage.CreationCollisionOption.GenerateUniqueName);

        MediaEncodingProfile recordProfile = MediaEncodingProfile.CreateMp4(Windows.Media.MediaProperties.VideoEncodingQuality.Auto);

        await mediaCapture.StartRecordToStorageFileAsync(recordProfile, recordStorageFile);

        recording = true;
    }

    public async Task StopVideo()
    {
        await mediaCapture.StopRecordAsync();

        recording = false;
    }

    public void Reset()
    {
        mediaCapture.Dispose();
        mediaCapture = null;
    }
在MainPage.xaml中,屏幕上有一个名为startRecording的按钮。单击该按钮时会发生以下情况:

        WebCam camera = new WebCam();

        camera.InitVideo();
        camera.RecordVideo("file.mp4");

        await Task.Delay(TimeSpan.FromSeconds(5));

        await camera.StopVideo();

        camera.Reset();

我的理论是正确的还是其他原因?

从基本的视频捕获角度来看,您在这里做的一切都是正确的。如果您发现视频在Windows Media Player中打开良好,但在Windows电影/电视应用程序中打开不好,则这些应用程序可能存在问题


我已经附加了一个助手类,我在自己的相机应用程序中使用它,您可以在这里获取一些信息:

从基本的视频捕获角度来看,您在这里做的一切都是正确的。如果您发现视频在Windows Media Player中打开良好,但在Windows电影/电视应用程序中打开不好,则这些应用程序可能存在问题


我附加了一个助手类,我在自己的相机应用程序中使用它,您可以在这里获取一些信息:

谢谢。我认为问题在于我在过去的某个时候没有正确清理MediaCapture,这就是为什么我稍后尝试打开文件时应用程序无法工作的原因。谢谢。我认为问题在于我在过去的某个时候没有正确地清理MediaCapture,这就是为什么我稍后尝试打开文件时应用程序无法工作的原因。