【问题标题】:Cannot open mp4's made from MediaCapture in C# UWP app无法在 C# UWP 应用程序中打开由 MediaCapture 制作的 mp4
【发布时间】:2015-12-02 06:51:17
【问题描述】:

我正在用 C# 编写一个使用相机拍摄视频的 UWP 应用。

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

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

但是,我能够使用 Windows Media Player(一个非 Windows 商店应用程序)“打开方式...”mp4。在阅读this 问题以及如果您没有正确清理代码中的 MediaCapture 对象后,其他应用程序可能会挂起;我的理论是我没有正确清理 MediaCapture; Windows 商店应用 Movies & TV 受到影响,但非 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();

我的理论是正确的还是别的什么?

【问题讨论】:

    标签: c# video uwp windows-media-player


    【解决方案1】:

    从基本的视频捕捉角度来看,您已经正确地完成了所有操作。如果您发现视频在 Windows Media Player 中可以正常打开,但在 Windows 电影/电视应用程序中不能正常打开,则可能是这些应用程序存在问题。

    我附加了一个帮助器类,我在自己的相机应用程序中使用它,您可能可以在这里获取一些信息:CameraCapture.cs - WindowsAppCodeSnippets (GitHub)

    【讨论】:

    • 谢谢。我认为问题在于我在过去的某个时候没有正确清理 MediaCapture,这就是为什么当我稍后尝试打开文件时应用程序无法正常工作的原因。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-10
    • 1970-01-01
    • 2019-10-17
    • 1970-01-01
    • 1970-01-01
    • 2018-01-20
    相关资源
    最近更新 更多