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

标签 android xamarin video xamarin.forms camera

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

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

“中”捕捉 1080P 的视频,“低”捕捉 144P 的视频。 我想要 480P 或 720P 的视频。 我该如何改变它。

提前致谢

最佳答案

查看此 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

关于android - 如何在 Xamarin.forms 中更改视频的分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49995701/

相关文章:

c# - .NET MAUI Android 中的通知图标

c# - xamarin.android - OnKeyLongPress 不触发

xml - 如何在XML文件中嵌入YouTube视频?

android - 使用 espresso 和 ui automator 在 android studio 2.3 中生成测试覆盖率报告

android - 为什么我的应用程序图标在 MIUI 或 vivo 启动器中没有更新?

android - OSRM后端返回距离:0

ios - Swift:裁剪和导出视频

javascript - 动态地将数据放入选择选项下拉列表(jQuery)

xamarin - 在 xamarin 的 Pin 标签中显示全文

android - 应用内视频托管的最佳解决方案