微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

减少视频大小的Xamarin形式

如何解决减少视频大小的Xamarin形式

我使用媒体插件从ios和Android设备中选择视频,但是流的大小非常大, 我的问题是如何减少该流发送到服务器。

   var file = await CrossMedia.Current.PickVideoAsync();
    if (file != null)
    {
       stream = file.GetStream();
       byte[] result;
       using (var streamReader = new MemoryStream())
       {
         stream.copyTo(streamReader);
        result = streamReader.ToArray();
        }
    }

解决方法

您可以设置 CompressionQuality ,该值是从0一直压缩到100的值。

var file = await CrossMedia.Current.TakeVideoAsync(new StoreVideoOptions
{
     CompressionQuality = 85,Quality = VideoQuality.Medium
});

更新

using System.IO;
using System.IO.Compression;
  public static byte[] Compress(byte[] data)
    {
        var output = new MemoryStream();
        using (var dstream = new DeflateStream(output,CompressionLevel.Optimal))
        {
            dstream.Write(data,data.Length);
        }
        return output.ToArray();
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。