/// <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; }
/// <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; }
/// <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); }
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}"); })); }
public static IObservable <Unit> OnVideoPreparedAsObservable(this MLMediaPlayer self) { return(Observable.FromEvent( h => self.OnVideoPrepared += h, h => self.OnVideoPrepared -= h)); }
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); }
// 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; }
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>(); }