首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xamarin形成Android视频压缩

Xamarin形成Android视频压缩
EN

Stack Overflow用户
提问于 2022-03-16 07:58:12
回答 1查看 145关注 0票数 0

我的部分应用程序(Xamarin Forms - crossplatform)需要减少视频文件的大小。iOS自己做,但安卓不做。对于照片,我这样做:

代码语言:javascript
复制
public byte[] CompressImage(byte[] imageData, int imageQuality, int imageWidth, int imageHeight)
        {
            int smallToBigWidth = imageWidth / 2;
            int smallToBigHeight = imageHeight / 2;
            Bitmap originalImage = BitmapFactory.DecodeByteArray(imageData, 0, imageData.Length);
            float proportions = (float)imageHeight / (float)originalImage.Height;
            float newWidth = (float)originalImage.Width * proportions;
            originalImage = Bitmap.CreateScaledBitmap(originalImage, (int)newWidth, imageHeight, false);
            using (MemoryStream ms = new MemoryStream())
            {
                originalImage.Compress(Bitmap.CompressFormat.Jpeg, imageQuality, ms);
                return ms.ToArray();
            }
        }

但是,如何处理视频,以便当您从图库中选择一个文件时,您可以在不将新文件保存在手机上的情况下获得一个简化版本?我使用MediaPicker下载该文件

代码语言:javascript
复制
var file = await MediaPicker.PickVideoAsync ();

并获取一个FileResult类型的文件,这是我希望在压缩后实现的类型。有人有什么想法吗?我肯定到处都找遍了,什么也没看。

EN

回答 1

Stack Overflow用户

发布于 2022-03-17 07:37:33

对于安卓系统,你可以使用Transcoderhttps://github.com/natario1/Transcoder

您还可以参考示例:https://github.com/leye0/XamarinAndroidFFmpeg

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71493452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档