コード例 #1
0
 /// <summary>
 /// Set the visual state of the play button when the internal playback state changes.
 /// </summary>
 /// <param name="state">The new state</param>
 void HandlePlaybackStateChanged(MLMusicService.PlaybackStateType state)
 {
     if (state == MLMusicService.PlaybackStateType.Playing)
     {
         playButton.Material = pauseMaterial;
     }
     else if (state == MLMusicService.PlaybackStateType.Paused || state == MLMusicService.PlaybackStateType.Stopped)
     {
         playButton.Material = playMaterial;
     }
 }
コード例 #2
0
        /// <summary>
        /// Pauses or resumes playback based on if app is or was playing when paused.
        /// </summary>
        /// <param name="pause">Determines if it's a pause or a resume.</param>
        private void OnApplicationPause(bool pause)
        {
            #if PLATFORM_LUMIN
            if (MLMusicService.IsStarted)
            {
                if (pause)
                {
                    playbackStateOnPause = PlaybackState;
                }

                if (playbackStateOnPause == MLMusicService.PlaybackStateType.Playing)
                {
                    MLResult result = pause ? MLMusicService.PausePlayback() : MLMusicService.ResumePlayback();
                    if (!result.IsOk)
                    {
                        Debug.LogErrorFormat("MLMusicServiceBehavior failed to {0} the current track, disabling script. Reason: {1}.", pause ? "pause" : "resume", result);
                        enabled = false;
                        return;
                    }
                }
            }
            #endif
        }
コード例 #3
0
 /// <summary>
 /// Popagate new playback state.
 /// </summary>
 /// <param name="state">The new state</param>
 void HandlePlaybackStateChanged(MLMusicService.PlaybackStateType state)
 {
     OnPlaybackStateChanged?.Invoke(state);
 }
コード例 #4
0
 private static void HandlePlaybackStateChange(MLMusicService.PlaybackStateType state, IntPtr data)
 {
     MLThreadDispatch.Call(state, OnPlaybackStateChange);
 }
コード例 #5
0
 public static extern MLResult.Code MLMusicServiceGetPlaybackState(out MLMusicService.PlaybackStateType outState);