示例#1
0
        public static void GetNameWithoutExtension(DVDFileInfo file, out StringBuilder name, out StringBuilder extension)
        {
            string fullName       = file.fileUrl;
            int    originalLength = fullName.Length;
            int    startIndex     = 0;
            int    length         = originalLength;

            int index = fullName.LastIndexOf('/');

            if (index != -1)
            {
                startIndex = index + 1;
                length     = length - startIndex;
            }

            index = fullName.LastIndexOf('.');
            if (index != -1)
            {
                int difference = originalLength - index;
                length    = length - difference;
                extension = new StringBuilder(fullName, index, difference, difference);
            }
            else
            {
                extension = null;
            }

            name = new StringBuilder(fullName, startIndex, length, length);
        }
示例#2
0
 private void OnFileSelected(DVDFileInfo file, int fileIndex)
 {
     if (OnFileChosen != null)
     {
         OnFileChosen(file, fileIndex);
     }
 }
        private static bool TryPlayMedia(MediaHelpers.MediaType mediaType, DVDFileInfo file, BaseMediaPlayer player)
        {
            switch (mediaType)
            {
            case MediaHelpers.MediaType.Video:
                BaseVideoPlayer videoPlayer = player as BaseVideoPlayer;
                if (videoPlayer != null)
                {
                    PlayOptions options = new PlayOptions();
                    options.Path = file.fileUrl;
                    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);
        }
示例#4
0
        public void SetToFile(StringBuilder displayName, DVDFileInfo file, string prefabName, int fileIndex)
        {
            directory.javaObj = null;
            directory.isDir   = false;
            SetNameText(file.fileName);
            this.file        = file;
            this.fileIndex   = fileIndex;
            CachedPrefabName = prefabName;

            //SetImageToThumbnail();
        }
示例#5
0
        /// fileIndex is NOT the index on the page. It is the index in the directory.
        public FileSelectorTile AddFileTile(DVDFileInfo file, int fileIndex)
        {
            StringBuilder displayName, extension;

            StringHelpers.GetNameWithoutExtension(file, out displayName, out extension);
            string           extensionString = extension.ToString();
            GameObject       prefab          = prefabData.GetPrefabForExtension(extensionString);
            string           prefabName      = prefabData.GetPrefabNameForExtension(extensionString);
            FileSelectorTile tile            = AddTile(prefab, prefabName);

            tile.SetToFile(displayName, file, prefabName, fileIndex);
            return(tile);
        }
示例#6
0
 public void  AnalyzeDirectorys()
 {
     directArray.Clear();
     fileArray.Clear();
     DVDDirectoryInfo[] dctArray = DvDInterface.GetInstance().GetFileList(this.javaObj);
     for (int i = 0; i < dctArray.Length; i++)
     {
         if (dctArray[i].isDir)
         {
             directArray.Add(dctArray[i]);
         }
         else
         {
             DVDFileInfo file = new DVDFileInfo();
             file.fileName  = dctArray[i].name;
             file.fileUrl   = dctArray[i].path;
             file.isDir     = dctArray[i].isDir;
             file.extension = dctArray[i].extension;
             file.javaObj   = dctArray[i].javaObj;
             fileArray.Add(file);
         }
     }
 }
示例#7
0
    public void AnalyzeDirectorys()
    {
        List <DVDDirectoryInfo> dctArray = GetFileList();

        m_dVDdirectoryInfos.Clear();
        m_dVDFileInfos.Clear();
        for (int i = 0; i < dctArray.Count; i++)
        {
            if (dctArray[i].isDir)
            {
                m_dVDdirectoryInfos.Add(dctArray[i]);
            }
            else
            {
                DVDFileInfo file = new DVDFileInfo();
                file.fileName  = dctArray[i].name;
                file.fileUrl   = dctArray[i].path;
                file.isDir     = dctArray[i].isDir;
                file.extension = dctArray[i].extension;
                file.javaObj   = dctArray[i].javaObj;
                m_dVDFileInfos.Add(file);
            }
        }
    }
        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;
        }
示例#9
0
 public static MediaType GetMediaType(DVDFileInfo file)
 {
     return(GetMediaType(file.extension));
 }
示例#10
0
        private void IncrementFile(bool previousDirection)
        {
            fileSelector = GetComponent <FileSelectorPageProvider>();
            Assert.IsNotNull(fileSelector);

            DVDFileInfo[] 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;
            }

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