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); }
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; }
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; } }
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; }
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; }