Ejemplo n.º 1
0
        private static bool TryPlayMedia(MediaHelpers.MediaType mediaType, FileInfo file, BaseMediaPlayer player)
        {
            switch (mediaType)
            {
            case MediaHelpers.MediaType.Video:
                BaseVideoPlayer videoPlayer = player as BaseVideoPlayer;
                if (videoPlayer != null)
                {
                    PlayOptions options = new PlayOptions();
                    options.Path = PATH_PREFIX + file.FullName;
                    options.Type = BaseVideoPlayer.VideoType.Other;
                    videoPlayer.Play(options);
                    return(true);
                }
                break;

            case MediaHelpers.MediaType.Photo:
                BasePhotoPlayer photoPlayer = player as BasePhotoPlayer;
                if (photoPlayer != null)
                {
                    photoPlayer.ShowPhoto(file);
                    return(true);
                }
                break;

            default:
                Debug.LogError("Invalid Media Type.");
                break;
            }

            return(false);
        }
Ejemplo n.º 2
0
        private void OnFileChosen(FileInfo file, int fileIndex)
        {
            MediaHelpers.MediaType mediaType = MediaHelpers.GetMediaType(file);

            if (mediaType == MediaHelpers.MediaType.Invalid)
            {
                return;
            }

            CreateMediaPlayer(mediaType);
            TryPlayMedia(mediaType, file, currentPlayer);

            mediaSelectorContainer.SetActive(false);
            currentFileIndex = fileIndex;
        }
Ejemplo n.º 3
0
        private void CreateMediaPlayer(MediaHelpers.MediaType mediaType)
        {
            DestroyMediaPlayer();

            switch (mediaType)
            {
            case MediaHelpers.MediaType.Video:
                currentPlayerObject = GameObject.Instantiate(videoPlayerPrefab);
                BaseVideoPlayer videoPlayer = currentPlayerObject.GetComponentInChildren <BaseVideoPlayer>();
                currentPlayer = videoPlayer;
                break;

            case MediaHelpers.MediaType.Photo:
                currentPlayerObject = GameObject.Instantiate(photoPlayerPrefab);
                BasePhotoPlayer photoPlayer = currentPlayerObject.GetComponentInChildren <BasePhotoPlayer>();
                currentPlayer = photoPlayer;
                break;

            default:
                Debug.LogError("Invalid Media Type.");
                break;
            }
        }
Ejemplo n.º 4
0
        private void OnFileChosen(DVDFileInfo file, int fileIndex)
        {
            MediaHelpers.MediaType mediaType = MediaHelpers.GetMediaType(file);
            if (mediaType == MediaHelpers.MediaType.Invalid)
            {
                return;
            }
            //CreateMediaPlayer(mediaType);
            //TryPlayMedia(mediaType, file, currentPlayer);
            if (mediaType == MediaHelpers.MediaType.Video)
            {
                JVideoDescriptionInfo jVideo = new JVideoDescriptionInfo(-1, file.fileName, file.fileUrl, file.fileUrl,
                                                                         0, 0, (int)StereoType.ST3D_LR, 0, 0, System.DateTime.Now, null, null);
                PlayerDataControl.GetInstance().SetJVideoDscpInfoByLiveUrl(jVideo);
                PlayerRoot.SetActive(true);
            }
            else
            {
                return;
            }

            mediaSelectorContainer.SetActive(false);
            currentFileIndex = fileIndex;
        }
Ejemplo n.º 5
0
        private void IncrementFile(bool previousDirection)
        {
            FileSelectorPageProvider fileSelector = GetComponent <FileSelectorPageProvider>();

            Assert.IsNotNull(fileSelector);

            FileInfo[] files = fileSelector.SubFiles;

            if (files == null || files.Length <= 1)
            {
                return;
            }

            if (currentPlayer == null)
            {
                return;
            }

            if (currentFileIndex == -1)
            {
                return;
            }

            int nextIndex;

            if (previousDirection)
            {
                nextIndex = currentFileIndex - 1;
            }
            else
            {
                nextIndex = currentFileIndex + 1;
            }

            if (nextIndex >= files.Length)
            {
                nextIndex = 0;
            }
            else if (nextIndex < 0)
            {
                nextIndex = files.Length - 1;
            }

            FileInfo nextFile = files[nextIndex];

            MediaHelpers.MediaType mediaType = MediaHelpers.GetMediaType(nextFile);

            bool success = TryPlayMedia(mediaType, nextFile, currentPlayer);

            // Wrong media player type.
            if (!success)
            {
                CreateMediaPlayer(mediaType);
                TryPlayMedia(mediaType, nextFile, currentPlayer);
                PlaybackControlsManager playbackControlsManager =
                    currentPlayerObject.GetComponentInChildren <PlaybackControlsManager>();
                if (playbackControlsManager != null)
                {
                    playbackControlsManager.SetPlaybackControlsOpen(true);
                }
            }

            mediaSelectorContainer.SetActive(false);
            currentFileIndex = nextIndex;
        }