如何在Xamarin.forms中更改视频的分辨率

时间:2018-04-24 07:25:31

标签: android xamarin video xamarin.forms camera

我在Xamarin.Forms中完成了一个自定义相机应用程序,它以非常低的分辨率或非常高的分辨率拍摄视频。

Plugin.Media.Abstraction.VideoQuality.Medium
Plugin.Media.Abstraction.VideoQuality.Low

Medium使用1080P捕获视频,使用144P捕获低。 我想拥有480P或720P的视频。 我怎样才能改变它。

提前致谢

1 个答案:

答案 0 :(得分:2)

查看此nuget的代码,我发现它使用Android的EXTRA_VIDEO_QUALITY来控制视频的质量。正如您在文档中看到的那样,它只允许值为1和0. nuget使用此逻辑来确定EXTRA_VIDEO_QUALITY的值:

private static int GetVideoQuality(VideoQuality videoQuality)
{
    switch (videoQuality)
    {
        case VideoQuality.Medium:
        case VideoQuality.High:
            return 1;

        default:
            return 0;
    }
}

因此,不可能轻易地将质量更改为其他值。你自己调整视频大小怎么样?也许这将启动你:Video compression on android using new MediaCodec Library

如果您想要更改已保存照片的质量,可以使用此属性进行更改:

var file = await CrossMedia.Current.TakePhotoAsync(new StoreCameraMediaOptions
{
    CompressionQuality = 92
});

其中0表示最大压缩,100(最大)表示没有压缩,此插件仅支持iOS和UWP。

以下是我使用的文档:https://github.com/jamesmontemagno/MediaPlugin