如何解决减少视频大小的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 举报,一经查实,本站将立刻删除。