private static Permission GetMultipleMediaFromGallery(MediaPickMultipleCallback callback, MediaType mediaType, string mime, string title) { Permission result = RequestPermission(true); if (result == Permission.Granted && !IsMediaPickerBusy()) { if (CanSelectMultipleFilesFromGallery()) { #if !UNITY_EDITOR && UNITY_ANDROID AJC.CallStatic("PickMedia", Context, new NGMediaReceiveCallbackAndroid(null, callback), (int)mediaType, true, SelectedMediaPath, mime, title); #elif !UNITY_EDITOR && UNITY_IOS Debug.LogError("Picking multiple media is not supported on iOS"); if (callback != null) { callback(null); } #else if (callback != null) { callback(null); } #endif } else if (callback != null) { callback(null); } } return(result); }
private static Permission GetMultipleMediaFromGallery(MediaPickMultipleCallback callback, bool imageMode, string mime, string title, int maxSize) { Permission result = RequestPermission(true); if (result == Permission.Granted && !IsMediaPickerBusy()) { if (CanSelectMultipleFilesFromGallery()) { #if !UNITY_EDITOR && UNITY_ANDROID AJC.CallStatic("PickMedia", Context, new NGMediaReceiveCallbackAndroid(null, callback), imageMode, true, mime, title); #else if (callback != null) { callback(null); } #endif } else if (callback != null) { callback(null); } } return(result); }
private static Permission GetMultipleMediaFromGallery(MediaPickMultipleCallback callback, bool imageMode, string mime, string title, int maxSize) { Permission result = RequestPermission(); if (result == Permission.Granted && !IsMediaPickerBusy()) { if (CanSelectMultipleFilesFromGallery()) { #if !UNITY_EDITOR && UNITY_ANDROID object threadLock = new object(); lock ( threadLock ) { NGMediaReceiveCallbackAndroid nativeCallback = new NGMediaReceiveCallbackAndroid(threadLock); AJC.CallStatic("PickMedia", Context, nativeCallback, imageMode, true, mime, title); if (nativeCallback.Paths == null) { System.Threading.Monitor.Wait(threadLock); } string[] paths = nativeCallback.Paths; if (paths != null && paths.Length == 0) { paths = null; } if (callback != null) { callback(paths); } } #else if (callback != null) { callback(null); } #endif } else if (callback != null) { callback(null); } } return(result); }
private static Permission GetMultipleMediaFromGallery(MediaPickMultipleCallback callback, MediaType mediaType, string mime, string title) { Permission result = RequestPermission(PermissionType.Read); if (result == Permission.Granted && !IsMediaPickerBusy()) { if (CanSelectMultipleFilesFromGallery()) { #if !UNITY_EDITOR && UNITY_ANDROID AJC.CallStatic("PickMedia", Context, new NGMediaReceiveCallbackAndroid(null, callback), (int)mediaType, true, SelectedMediaPath, mime, title); #elif !UNITY_EDITOR && UNITY_IOS if (mediaType == MediaType.Audio) { Debug.LogError("Picking audio files is not supported on iOS"); if (callback != null) // Selecting audio files is not supported on iOS { callback(null); } } else { NGMediaReceiveCallbackiOS.Initialize(null, callback); _NativeGallery_PickMedia(SelectedMediaPath, (int)(mediaType & ~MediaType.Audio), PermissionFreeMode ? 1 : 0, 0); } #else if (callback != null) { callback(null); } #endif } else if (callback != null) { callback(null); } } return(result); }
private static Permission GetMultipleMediaFromGallery(MediaPickMultipleCallback callback, MediaType mediaType, string mime, string title) { Permission result = RequestPermission(true); if (result == Permission.Granted && !IsMediaPickerBusy()) { if (CanSelectMultipleFilesFromGallery()) { #if !UNITY_EDITOR && UNITY_ANDROID string savePath; if (mediaType == MediaType.Image) { savePath = SelectedImagePath; } else if (mediaType == MediaType.Video) { savePath = SelectedVideoPath; } else { savePath = SelectedAudioPath; } AJC.CallStatic("PickMedia", Context, new NGMediaReceiveCallbackAndroid(null, callback), (int)mediaType, true, savePath, mime, title); #else if (callback != null) { callback(null); } #endif } else if (callback != null) { callback(null); } } return(result); }
public static Permission GetVideosFromGallery(MediaPickMultipleCallback callback, string title = "", string mime = "video/*") { return(GetMultipleMediaFromGallery(callback, false, mime, title, -1)); }
public static Permission GetImagesFromGallery(MediaPickMultipleCallback callback, string title = "", string mime = "image/*", int maxSize = -1) { return(GetMultipleMediaFromGallery(callback, true, mime, title, maxSize)); }
public static Permission GetMixedMediasFromGallery(MediaPickMultipleCallback callback, MediaType mediaTypes, string title = "") { return(GetMultipleMediaFromGallery(callback, mediaTypes, "*/*", title)); }
public static Permission GetAudiosFromGallery(MediaPickMultipleCallback callback, string title = "", string mime = "audio/*") { return(GetMultipleMediaFromGallery(callback, MediaType.Audio, mime, title)); }
public static Permission GetImagesFromGallery(MediaPickMultipleCallback callback, string title = "", string mime = "image/*") { return(GetMultipleMediaFromGallery(callback, MediaType.Image, mime, title)); }