private void DisplayResult(ISN_UIPickerControllerResult result)
    {
        m_LastPickerResult = result;

        if (result.IsSucceeded)
        {
            if (result.MediaType.Equals(ISN_UIMediaType.IMAGE))
            {
                DisplayMessage("Image Loaded!");
                ApplyImageToGui(result.Image);
            }

            if (result.MediaType.Equals(ISN_UIMediaType.MOVIE))
            {
                DisplayMessage("Video Loaded!", () =>
                {
                    if (!ISN_Settings.Instance.AVKit)
                    {
                        DisplayMessage("AVKit should be enabled in plugin setting in order to retrieve video thumbnail");
                    }
                    else
                    {
                        Texture2D image = ISN_AVAssetImageGenerator.CopyCGImageAtTime(result.MediaURL, 0);
                        ApplyImageToGui(image);
                    }
                });
            }
        }
        else
        {
            DisplayMessage("Failed: " + result.Error.FullMessage);
        }

        UpdateUI();
    }
コード例 #2
0
        internal static void CaptureMedia(int thumbnailSize, UM_MediaType type, ISN_UIImagePickerControllerSourceType source, Action <UM_MediaResult> callback)
        {
            ISN_UIImagePickerController picker = new ISN_UIImagePickerController();

            picker.SourceType = source;
            switch (type)
            {
            case UM_MediaType.Image:
                picker.MediaTypes = new List <string>()
                {
                    ISN_UIMediaType.IMAGE
                };
                break;

            case UM_MediaType.Video:
                picker.MediaTypes = new List <string>()
                {
                    ISN_UIMediaType.MOVIE
                };
                break;
            }

            picker.MaxImageSize           = thumbnailSize;
            picker.ImageCompressionFormat = ISN_UIImageCompressionFormat.JPEG;
            picker.ImageCompressionRate   = 0.8f;

            UM_MediaResult pickResult;

            picker.Present((result) =>
            {
                if (result.IsSucceeded)
                {
                    UM_Media media = null;
                    switch (result.MediaType)
                    {
                    case ISN_UIMediaType.IMAGE:
                        media = new UM_Media(result.Image, result.ImageURL, UM_MediaType.Image);
                        break;

                    case ISN_UIMediaType.MOVIE:
                        Texture2D img = ISN_AVAssetImageGenerator.CopyCGImageAtTime(result.OriginalMediaURL, 0);
                        media         = new UM_Media(img, result.MediaURL, UM_MediaType.Video);
                        break;
                    }
                    pickResult = new UM_MediaResult(media);
                }
                else
                {
                    pickResult = new UM_MediaResult(result.Error);
                }

                callback.Invoke(pickResult);
            });
        }