public static byte[] PathToByte2(string path){ //byte[] pathData=null; Log.Debug ("ImageToByte", "Inicia path to byte"); Log.Debug ("ImageToByte", "Se crea el nuevo file"); var imgFile = new Java.IO.File(path); Log.Debug ("ImageToByte", "Se crea el nuevo stream"); var stream = new Java.IO.FileInputStream(imgFile); Log.Debug ("ImageToByte", "Se Crea el archivo Byte"); var bytes = new byte[imgFile.Length()]; Log.Debug ("ImageToByte", "Se hace el Stream Read"); stream.Read(bytes); stream.Close (); stream.Dispose (); return bytes; }
private void ExtractVideoPickedFromGallery(Intent data) { try { Android.Net.Uri selectedUri = data.Data; string mimeType = "video"; PickedMediaFromGallery result = new PickedMediaFromGallery(); if (mimeType.StartsWith("video")) { string filePath = MediaUtils.GetFileFullPathAlternativeVideo(data.Data, this); Java.IO.File videoFile = new Java.IO.File(filePath); Java.IO.FileInputStream videoFileInputStream = new Java.IO.FileInputStream(videoFile); byte[] videoFileBytes = new byte[videoFile.Length()]; videoFileInputStream.Read(videoFileBytes); videoFileInputStream.Close(); videoFileInputStream.Dispose(); System.IO.Stream thumbnailStream = DependencyService.Get <IPickMediaDependencyService>().GetThumbnail(filePath); byte[] thumbnailBytes; thumbnailStream.Position = 0; using (System.IO.BinaryReader reader = new System.IO.BinaryReader(thumbnailStream)) { thumbnailBytes = reader.ReadBytes((int)thumbnailStream.Length); } result = new PickedMediaFromGallery() { Completion = true, DataBase64 = Android.Util.Base64.EncodeToString(videoFileBytes, Android.Util.Base64Flags.Default), DataThumbnailBase64 = Convert.ToBase64String(thumbnailBytes), FilePath = filePath, MimeType = ProfileMediaService.VIDEO_MEDIA_TYPE }; } else { Debugger.Break(); throw new InvalidOperationException(); } PickVideoTaskCompletion.SetResult(result); } catch (Exception exc) { Debugger.Break(); PickVideoTaskCompletion.SetResult(new PickedMediaFromGallery() { Exception = exc, ErrorMessage = _EXTRACTION_MEDIA_MEDIA_PICK_ERROR }); } }
partial void ReleaseMediaInternal() { audioMediaDecoder?.Stop(); audioMediaDecoder?.Release(); audioMediaDecoder = null; audioMediaExtractor?.Release(); audioMediaExtractor = null; InputFileStream?.Dispose(); InputFileStream = null; InputFile?.Dispose(); InputFile = null; }
private void ExtractVideoTakedFromCamera(Intent data) { try { Android.Net.Uri selectedUri = data.Data; string filePath = MediaUtils.GetFileFullPathAlternativeVideo(data.Data, this); Java.IO.File videoFile = new Java.IO.File(filePath); Java.IO.FileInputStream videoFileInputStream = new Java.IO.FileInputStream(videoFile); byte[] videoFileBytes = new byte[videoFile.Length()]; videoFileInputStream.Read(videoFileBytes); videoFileInputStream.Close(); videoFileInputStream.Dispose(); System.IO.Stream thumbnailStream = DependencyService.Get <IPickMediaDependencyService>().GetThumbnail(filePath); byte[] thumbnailBytes; thumbnailStream.Position = 0; using (System.IO.BinaryReader reader = new System.IO.BinaryReader(thumbnailStream)) { thumbnailBytes = reader.ReadBytes((int)thumbnailStream.Length); } CompleteActionTakeVideoOrImage(new PickedMediaFromGallery() { Completion = true, DataBase64 = Android.Util.Base64.EncodeToString(videoFileBytes, Android.Util.Base64Flags.Default), DataThumbnailBase64 = Convert.ToBase64String(thumbnailBytes), FilePath = filePath, MimeType = ProfileMediaService.VIDEO_MEDIA_TYPE }); } catch (Exception exc) { CompleteActionTakeVideoOrImage(new PickedMediaFromGallery() { Exception = exc, ErrorMessage = _TAKE_VIDEO_OR_IMAGE_TAKED_VIDEO_HANDLING_ERROR }); } }
private void ExtractMediaPickedFromGallery(Intent data) { try { Android.Net.Uri selectedUri = data.Data; String[] columns = { MediaStore.Images.Media.InterfaceConsts.Data, MediaStore.Images.Media.InterfaceConsts.MimeType }; ICursor cursor = ContentResolver.Query(selectedUri, columns, null, null, null); cursor.MoveToFirst(); int pathColumnIndex = cursor.GetColumnIndex(columns[0]); int mimeTypeColumnIndex = cursor.GetColumnIndex(columns[1]); string mimeType = cursor.GetString(mimeTypeColumnIndex); cursor.Close(); PickedMediaFromGallery result = null; if (mimeType.StartsWith("image")) { Android.Graphics.Bitmap bitmap = MediaUtils.GetScaledBitmap( data.Data, MediaUtils.IMAGE_WIDTH_RESTRICTION, MediaUtils.IMAGE_HEIGHT_RESTRICTION, this); if (bitmap == null) { bitmap = MediaStore.Images.Media.GetBitmap(ContentResolver, data.Data); } byte[] bytes; using (MemoryStream memoryStream = new MemoryStream()) { bitmap.Compress(Android.Graphics.Bitmap.CompressFormat.Jpeg, 100, memoryStream); bytes = memoryStream.GetBuffer(); } result = new PickedMediaFromGallery() { DataBase64 = Android.Util.Base64.EncodeToString(bytes, Android.Util.Base64Flags.Default), Completion = true, DataThumbnailBase64 = Android.Util.Base64.EncodeToString(bytes, Android.Util.Base64Flags.Default), MimeType = ProfileMediaService.IMAGE_MEDIA_TYPE }; } else if (mimeType.StartsWith("video")) { string filePath = MediaUtils.GetFileFullPathAlternativeVideo(data.Data, this); Java.IO.File videoFile = new Java.IO.File(filePath); Java.IO.FileInputStream videoFileInputStream = new Java.IO.FileInputStream(videoFile); byte[] videoFileBytes = new byte[videoFile.Length()]; videoFileInputStream.Read(videoFileBytes); videoFileInputStream.Close(); videoFileInputStream.Dispose(); System.IO.Stream thumbnailStream = DependencyService.Get <IPickMediaDependencyService>().GetThumbnail(filePath); byte[] thumbnailBytes; thumbnailStream.Position = 0; using (System.IO.BinaryReader reader = new System.IO.BinaryReader(thumbnailStream)) { thumbnailBytes = reader.ReadBytes((int)thumbnailStream.Length); } result = new PickedMediaFromGallery() { Completion = true, DataBase64 = Android.Util.Base64.EncodeToString(videoFileBytes, Android.Util.Base64Flags.Default), DataThumbnailBase64 = Convert.ToBase64String(thumbnailBytes), FilePath = filePath, MimeType = ProfileMediaService.VIDEO_MEDIA_TYPE }; } else { Debugger.Break(); throw new InvalidOperationException(); } PickMediaTaskCompletion.SetResult(result); } catch (Exception exc) { Debugger.Break(); PickMediaTaskCompletion.SetResult(new PickedMediaFromGallery() { Exception = exc, ErrorMessage = _EXTRACTION_MEDIA_MEDIA_PICK_ERROR }); } }