/// <summary>
        /// Check for all required variables to be initialized.
        /// </summary>
        void Start()
        {
            if (_screen == null)
            {
                Debug.LogError("Error: VideoCaptureVisualizer._screen is not set, disabling script.");
                enabled = false;
                return;
            }

            if (_previewText == null)
            {
                Debug.LogError("Error: VideoCaptureVisualizer._previewText is not set, disabling script.");
                enabled = false;
                return;
            }

            if (_recordingIndicator == null)
            {
                Debug.LogError("Error: VideoCaptureVisualizer._recordingIndicator is not set, disabling script.");
                enabled = false;
                return;
            }

            _mediaPlayer = _screen.AddComponent <MLMediaPlayer>();
            _mediaPlayer.OnVideoPrepared += HandleVideoPrepared;

            _screenRenderer = _screen.GetComponent <Renderer>();
        }
        /// <summary>
        /// Validate necessary objects and setup CEA708 subtitle processing.
        /// </summary>
        void Start()
        {
            if (!_mediaPlayerGameObject)
            {
                Debug.LogError("Error: MLMediaPlayerCEA708Parser._mediaPlayerGameObject is not set, disabling script.");
                enabled = false;
                return;
            }

            if (!_subtitleTextMesh)
            {
                Debug.LogError("Error: MLMediaPlayerCEA708Parser._subtitleTextMesh is not set, disabling script.");
                enabled = false;
                return;
            }

            _mediaPlayer = _mediaPlayerGameObject.GetComponent <MLMediaPlayer>();
            if (!_mediaPlayer)
            {
                Debug.LogError("Error: MLMediaPlayerCEA708Parser._mediaPlayerGameObject doesn't contain an MLMediaPlayer component.");
                enabled = false;
                return;
            }

            _subtitleTextMesh.text = string.Empty;

            _mediaPlayer.OnSubtitleTracksFound   += SubtitleTracksFound;
            _mediaPlayer.OnSubtitle708EventFound += Subtitle708Event;
        }
Exemple #3
0
        /// <summary>
        /// Check for all required variables to be initialized.
        /// </summary>
        void Start()
        {
            if (_screen == null)
            {
                Debug.LogError("The VideoCaptureVisualizer component does not have it's _screen reference assigned. Disabling script.");
                enabled = false;
                return;
            }

            if (_previewText == null)
            {
                Debug.LogError("The VideoCaptureVisualizer component does not have it's _previewText reference assigned. Disabling script.");
                enabled = false;
                return;
            }

            if (_recordingIndicator == null)
            {
                Debug.LogError("The VideoCaptureVisualizer component does not have it's _recordingIndicator reference assigned. Disabling script.");
                enabled = false;
                return;
            }

            _mediaPlayer = _screen.AddComponent <MLMediaPlayer>();
            _mediaPlayer.OnVideoPrepared += HandleVideoPrepared;

            _screenRenderer = _screen.GetComponent <Renderer>();
        }
        /// <summary>
        /// Check for all required variables to be initialized.
        /// </summary>
        void Start()
        {
            if (_screen == null)
            {
                Debug.LogError("Error: VideoCaptureVisualizer._screen is not set, disabling script.");
                enabled = false;
                return;
            }

            if (_recordingIndicator == null)
            {
                Debug.LogError("Error: VideoCaptureVisualizer._recordingIndicator is not set, disabling script.");
                enabled = false;
                return;
            }

            #if PLATFORM_LUMIN
            _mediaPlayer = _screen.AddComponent <MLMediaPlayer>();
            _mediaPlayer.OnVideoPrepared += HandleVideoPrepared;
            #endif

            _screenRenderer = _screen.GetComponent <Renderer>();
            if (_screenRenderer == null)
            {
                Debug.LogError("Error: VideoCaptureVisualizer._screen does not have a Renderer component, disabling script.");
                enabled = false;
                return;
            }
            _screenRenderer.enabled = false;
        }
Exemple #5
0
        /// <summary>
        /// Retrieve the launched screen information and update the visual GameObject.
        /// </summary>
        private bool UpdateLaunchedScreen()
        {
            List <MLScreensScreenInfo> info;

            MLResult result = MLScreens.GetScreensInfo(out info);

            if (!result.IsOk)
            {
                Debug.LogErrorFormat("Error: ScreensExample MLScreens.GetScreensInfo failed. Reason {0}.", result);
                return(false);
            }

            if (info.Count == 0)
            {
                _noScreensError.enabled = true;
                Debug.LogWarning("Warning: ScreensExample no screen information was located.");
                return(false);
            }

            // Obtain a list of the available screens and make sure a valid screen is returned.
            MLScreensScreenInfo[] screenInfo = info.Where(x => x.Id == (ulong)MLScreens.GetLauncherScreenId()).ToArray();
            if (screenInfo.Length > 0)
            {
                if (_launchedScreen == null)
                {
                    // Create the initial launched screen GameObject.
                    _launchedScreen = Instantiate(_screenOriginal, screenInfo[0].Position, screenInfo[0].Rotation, transform);
                    _launchedScreen.transform.localScale = Vector3.Scale(screenInfo[0].Dimensions, screenInfo[0].Scale);

                    _launchedScreenInfo = screenInfo[0];

                    _mediaPlayer         = _launchedScreen.GetComponentInChildren <MLMediaPlayer>();
                    _elapsedTime         = _launchedScreen.GetComponentInChildren <TextMesh>();
                    _placementComponenet = _launchedScreen.GetComponentInChildren <PlaceFromCamera>(true);
                }
                else
                {
                    // Assign the active screen info as the launched screen.
                    _launchedScreenInfo = screenInfo[0];

                    // Update the existing screen with the new launched values.
                    _launchedScreen.transform.position   = screenInfo[0].Position;
                    _launchedScreen.transform.rotation   = screenInfo[0].Rotation;
                    _launchedScreen.transform.localScale = Vector3.Scale(screenInfo[0].Dimensions, screenInfo[0].Scale);
                }
            }
            else
            {
                Debug.LogError("Error: ScreensExample was unable to located the launched screen information.");
                enabled = false;

                return(false);
            }

            return(true);
        }
Exemple #6
0
 public static IObservable <Unit> OnMediaErrorAsObservable(this MLMediaPlayer self)
 {
     return(Observable.FromEvent <Action <MLResultCode, string>, (MLResultCode, string)>(
                f => (c, m) => f((c, m)),
                h => self.OnMediaError += h,
                h => self.OnMediaError -= h).Select <(MLResultCode, string), Unit>((c, m) =>
     {
         throw new Exception($"MediaError: {c}: {m}");
     }));
 }
Exemple #7
0
 public static IObservable <Unit> OnVideoPreparedAsObservable(this MLMediaPlayer self)
 {
     return(Observable.FromEvent(
                h => self.OnVideoPrepared += h,
                h => self.OnVideoPrepared -= h));
 }
Exemple #8
0
        private void Awake()
        {
            if (_screen == null)
            {
                Debug.LogError("Error MediaPlayerExample._screen is not set, disabling script.");
                enabled = false;
                return;
            }
            if (_pausePlayButton == null)
            {
                Debug.LogError("Error MediaPlayerExample._pausePlay is not set, disabling script.");
                enabled = false;
                return;
            }
            if (_playMaterial == null)
            {
                Debug.LogError("Error MediaPlayerExample._playMaterial is not set, disabling script.");
                enabled = false;
                return;
            }
            if (_pauseMaterial == null)
            {
                Debug.LogError("Error MediaPlayerExample._pauseMaterial is not set, disabling script.");
                enabled = false;
                return;
            }
            if (_rewindButton == null)
            {
                Debug.LogError("Error MediaPlayerExample._rewindButton is not set, disabling script.");
                enabled = false;
                return;
            }
            if (_forwardButton == null)
            {
                Debug.LogError("Error MediaPlayerExample._forwardButton is not set, disabling script.");
                enabled = false;
                return;
            }
            if (_timelineSlider == null)
            {
                Debug.LogError("Error MediaPlayerExample._timelineSlider is not set, disabling script.");
                enabled = false;
                return;
            }
            if (_bufferBar == null)
            {
                Debug.LogError("Error MediaPlayerExample._bufferBar is not set, disabling script.");
                enabled = false;
                return;
            }
            if (_volumeSlider == null)
            {
                Debug.LogError("Error MediaPlayerExample._volumeSlider is not set, disabling script.");
                enabled = false;
                return;
            }
            if (_elapsedTime == null)
            {
                Debug.LogError("Error MediaPlayerExample._elapsedTime is not set, disabling script.");
                enabled = false;
                return;
            }

            _mediaPlayer = _screen.gameObject.AddComponent <MLMediaPlayer>();

            _mediaPlayer.OnPause           += HandlePause;
            _mediaPlayer.OnPlay            += HandlePlay;
            _mediaPlayer.OnStop            += HandleStop;
            _mediaPlayer.OnEnded           += HandleEnded;
            _mediaPlayer.OnSeekStarted     += HandleSeekStarted;
            _mediaPlayer.OnSeekCompleted   += HandleSeekCompleted;
            _mediaPlayer.OnBufferingUpdate += HandleBufferUpdate;
            _mediaPlayer.OnError           += HandleError;
            _mediaPlayer.OnInfo            += HandleInfo;
            _mediaPlayer.OnVideoPrepared   += HandleVideoPrepared;

            _pausePlayButton.OnToggle              += PlayPause;
            _rewindButton.OnControllerTriggerDown  += Rewind;
            _forwardButton.OnControllerTriggerDown += FastForward;
            _timelineSlider.OnValueChanged         += Seek;
            _volumeSlider.OnValueChanged           += SetVolume;
        }
 void Reset()
 {
     _mediaPlayer = GetComponentInChildren <MLMediaPlayer>();
     _videoImage  = GetComponentInChildren <RawImage>();
 }
        /// <summary>
        /// Provides the string value for any MLResult.Code.
        /// </summary>
        /// <param name="resultCode">The code to convert into a string value.</param>
        /// <returns>The string value of the given MLResult.Code.</returns>
        public static string CodeToString(MLResult.Code resultCode)
        {
            string codeString = string.Empty;

            switch ((CodePrefix)((int)resultCode >> 16))
            {
            case CodePrefix.MLResultGlobal:
            case CodePrefix.MLSnapshotResult:
                codeString = Marshal.PtrToStringAnsi(MagicLeapNativeBindings.MLSnapshotGetResultString(resultCode));
                break;

            case CodePrefix.MLAudioResult:
                codeString = Marshal.PtrToStringAnsi(MLAudio.GetResultString(resultCode));
                break;

            case CodePrefix.MLMediaDRMResult:
            case CodePrefix.MLMediaGenericResult:
            case CodePrefix.MLMediaPlayerResult:
            case CodePrefix.MLMediaResult:
                codeString = Marshal.PtrToStringAnsi(MLMediaPlayer.GetResultString(resultCode));
                break;

            case CodePrefix.MLDispatchResult:
                codeString = Marshal.PtrToStringAnsi(MLDispatch.GetResultString(resultCode));
                break;

            case CodePrefix.MLIdentityResult:
                codeString = Marshal.PtrToStringAnsi(MLIdentity.GetResultString(resultCode));
                break;

            case CodePrefix.MLPassableWorldResult:
                codeString = Marshal.PtrToStringAnsi(MLPersistentCoordinateFrames.GetResultString(resultCode));
                break;

            case CodePrefix.MLTokenAgentResult:
                codeString = Marshal.PtrToStringAnsi(MLTokenAgent.GetResultString(resultCode));
                break;

            case CodePrefix.MLPrivilegesResult:
                codeString = Marshal.PtrToStringAnsi(MLPrivileges.GetResultString(resultCode));
                break;

            case CodePrefix.MLContactsResult:
                codeString = Marshal.PtrToStringAnsi(MLContacts.GetResultString(resultCode));
                break;

            case CodePrefix.MLLocationResult:
                codeString = Marshal.PtrToStringAnsi(MLLocation.GetResultString(resultCode));
                break;

            case CodePrefix.MLNetworkingResult:
                codeString = Marshal.PtrToStringAnsi(MLNetworkingNativeBindings.MLNetworkingGetResultString(resultCode));
                break;

            case CodePrefix.MLMovementResult:
                codeString = Marshal.PtrToStringAnsi(MLMovement.GetResultString(resultCode));
                break;

            case CodePrefix.MLConnectionsResult:
                codeString = Marshal.PtrToStringAnsi(MLConnections.GetResultString(resultCode));
                break;

            case CodePrefix.MLSecureStorageResult:
                codeString = Marshal.PtrToStringAnsi(MLSecureStorageNativeBindings.MLSecureStorageGetResultString(resultCode));
                break;

            case CodePrefix.MLAppConnect:
                codeString = Marshal.PtrToStringAnsi(MLAppConnectNativeBindings.MLAppConnectGetResultString(resultCode));
                break;

            case CodePrefix.MLWebRTC:
                codeString = Marshal.PtrToStringAnsi(MLWebRTC.NativeBindings.MLWebRTCGetResultString(resultCode));
                break;

            case CodePrefix.MLBluetoothGattResult:
                codeString = Marshal.PtrToStringAnsi(MLBluetoothLE.NativeBindings.MLBluetoothGattGetResultString(resultCode));
                break;

            default:
                // This will catch any unknown/invalid return values.
                codeString = MagicLeapNativeBindings.MLGetResultString(resultCode);
                break;
            }

            return(codeString);
        }
Exemple #11
0
        // Start is called before the first frame update
        void Start()
        {
            if (!_screen)
            {
                Debug.LogError("Error: MediaPlayer51SurroundEnabler._screen is not set, disabling script.");
                enabled = false;
                return;
            }

            _mediaPlayer = _screen.GetComponent <MLMediaPlayer>();
            if (!_mediaPlayer)
            {
                Debug.LogError("Error: MediaPlayer51SurroundEnabler._screen doesn't contain an MLMediaPlayer component.");
                enabled = false;
                return;
            }

            if (!_frontLeftSpeaker)
            {
                Debug.LogError("Error: MediaPlayer51SurroundEnabler._frontLeftSpeaker is not set, disabling script.");
                enabled = false;
                return;
            }

            if (!_frontCenterSpeaker)
            {
                Debug.LogError("Error: MediaPlayer51SurroundEnabler._frontCenterSpeaker  is not set, disabling script.");
                enabled = false;
                return;
            }

            if (!_frontRightSpeaker)
            {
                Debug.LogError("Error: MediaPlayer51SurroundEnabler._frontRightSpeaker  is not set, disabling script.");
                enabled = false;
                return;
            }

            if (!_surroundLeftSpeaker)
            {
                Debug.LogError("Error: MediaPlayer51SurroundEnabler._surroundLeftSpeaker  is not set, disabling script.");
                enabled = false;
                return;
            }

            if (!_surroundRightSpeaker)
            {
                Debug.LogError("Error: MediaPlayer51SurroundEnabler._surroundRightSpeaker  is not set, disabling script.");
                enabled = false;
                return;
            }

            if (!_lowFrequencyEffectsSpeaker)
            {
                Debug.LogError("Error: MediaPlayer51SurroundEnabler._lowFrequencyEffectsSpeaker  is not set, disabling script.");
                enabled = false;
                return;
            }

            if (_useRecommendedSpeakerPositions)
            {
                _frontLeftSpeaker.position           = MLMediaPlayer.RecommendedSpeakerOffsets[(int)MLMediaPlayer.AudioChannel.FrontLeft];
                _frontCenterSpeaker.position         = MLMediaPlayer.RecommendedSpeakerOffsets[(int)MLMediaPlayer.AudioChannel.FrontCenter];
                _frontRightSpeaker.position          = MLMediaPlayer.RecommendedSpeakerOffsets[(int)MLMediaPlayer.AudioChannel.FrontRight];
                _surroundLeftSpeaker.position        = MLMediaPlayer.RecommendedSpeakerOffsets[(int)MLMediaPlayer.AudioChannel.SurroundLeft];
                _surroundRightSpeaker.position       = MLMediaPlayer.RecommendedSpeakerOffsets[(int)MLMediaPlayer.AudioChannel.SurroundRight];
                _lowFrequencyEffectsSpeaker.position = MLMediaPlayer.RecommendedSpeakerOffsets[(int)MLMediaPlayer.AudioChannel.LowFrequencyEffects];
            }

            _mediaPlayer.OnInfo += HandleInfo;
        }
Exemple #12
0
        private void Awake()
        {
            if (_screen == null)
            {
                Debug.LogError("Error MediaPlayerExample._screen is not set, disabling script.");
                enabled = false;
                return;
            }
            if (_pausePlayButton == null)
            {
                Debug.LogError("Error MediaPlayerExample._pausePlay is not set, disabling script.");
                enabled = false;
                return;
            }
            if (_playMaterial == null)
            {
                Debug.LogError("Error MediaPlayerExample._playMaterial is not set, disabling script.");
                enabled = false;
                return;
            }
            if (_pauseMaterial == null)
            {
                Debug.LogError("Error MediaPlayerExample._pauseMaterial is not set, disabling script.");
                enabled = false;
                return;
            }
            if (_rewindButton == null)
            {
                Debug.LogError("Error MediaPlayerExample._rewindButton is not set, disabling script.");
                enabled = false;
                return;
            }
            if (_forwardButton == null)
            {
                Debug.LogError("Error MediaPlayerExample._forwardButton is not set, disabling script.");
                enabled = false;
                return;
            }
            if (_timelineSlider == null)
            {
                Debug.LogError("Error MediaPlayerExample._timelineSlider is not set, disabling script.");
                enabled = false;
                return;
            }
            if (_bufferBar == null)
            {
                Debug.LogError("Error MediaPlayerExample._bufferBar is not set, disabling script.");
                enabled = false;
                return;
            }
            if (_volumeSlider == null)
            {
                Debug.LogError("Error MediaPlayerExample._volumeSlider is not set, disabling script.");
                enabled = false;
                return;
            }
            if (_elapsedTime == null)
            {
                Debug.LogError("Error MediaPlayerExample._elapsedTime is not set, disabling script.");
                enabled = false;
                return;
            }

            _mediaPlayer       = _screen.gameObject.AddComponent <MLMediaPlayer>();
            _pausePlayRenderer = _pausePlayButton.GetComponent <Renderer>();
        }