예제 #1
0
    public void SetMusicSdk(MusicPlayerState state)
    {
        switch (state)
        {
        case MusicPlayerState.Init:
            SetInit();
            break;

        case MusicPlayerState.Play:
            SetPlay();
            break;

        case MusicPlayerState.Pause:
            SetPause();
            break;

        case MusicPlayerState.ChangeProgress:
            SetChangeProgress();
            break;

        case MusicPlayerState.Stop:
            SetStop();
            break;
        }
    }
예제 #2
0
 public void Reset()
 {
     m_ePlayerState      = MusicPlayerState.Stop;
     m_fRunTime          = 0f;
     m_nCurrentNoteIndex = 0;
     //if (m_lstNoteKeyList != null)
 }
예제 #3
0
 public void Reset()
 {
     m_ePlayerState = MusicPlayerState.Stop;
     m_fRunTime = 0f;
     m_nCurrentNoteIndex = 0;
     //if (m_lstNoteKeyList != null)
 }
예제 #4
0
 public NAudioMusicPlayer()
 {
     _woEvent = new WaveOutEvent();
     _woEvent.PlaybackStopped += (sender, e) =>
     {
         _state = MusicPlayerState.Stopped;
         PlaybackStopped?.Invoke(this, EventArgs.Empty);
     };
 }
        /// <summary>
        /// Called when the activity is first created.
        /// </summary>
        public override void onCreate(Bundle savedInstanceState)
        {
            base.onCreate(savedInstanceState);

            ContentView = R.layout.music_player_layout;
            setupViewElements();

            mSmcLib = new Smc();

            try
            {
                mSmcLib.initialize(BaseContext);
            }
            catch (SsdkUnsupportedException e)
            {
                Console.WriteLine(e.ToString());
                Console.Write(e.StackTrace);                 //TODO Handle exceptions.
            }

            Log.d("media control lib version", mSmcLib.VersionName);

            // Prepare assets used by sample
            extractAssets();

            // Restore saved state, after e.g. rotating
            if (savedInstanceState != null)
            {
                mState = new MusicPlayerState(savedInstanceState);
            }
            else
            {
                mState = new MusicPlayerState();

                // Initialize state with built-in content
                File storageDir = new File(Environment.ExternalStorageDirectory, ASSETS_SUBDIR);
                File audio      = new File(storageDir, MUSIC_FILE);

                //To get media information (title, artist, cover)
                MediaScannerConnection.scanFile(ApplicationContext, new string[] { audio.AbsolutePath }, null, this);

                Uri mediaUri = Uri.fromFile(audio);
                mState.mMediaUri = mediaUri;
                string path = mediaUri.Path;
                if (path != null && path.LastIndexOf(".", StringComparison.Ordinal) != -1)
                {
                    string ext = path.Substring(path.LastIndexOf(".", StringComparison.Ordinal) + 1);
                    mState.mMimeType = MimeTypeMap.Singleton.getMimeTypeFromExtension(ext);
                }
            }
        }
예제 #6
0
        public void Trigger_AvailableEvent_ReturnsExpectedState(MusicPlayerState currentState)
        {
            // arrange
            var sut = new FiniteStateMachine <MusicPlayerState, MusicPlayerEvent>(currentState);

            sut.In(MusicPlayerState.Stopped, MusicPlayerState.Paused)
            .On(MusicPlayerEvent.Play)
            .Then(MusicPlayerState.Playing);

            // act
            var nextState = sut.Trigger(MusicPlayerEvent.Play);

            // assert
            Assert.Equal(MusicPlayerState.Playing, nextState);
        }
예제 #7
0
 public void StartGuide()
 {
     m_fStartTime   = TimeManager.Instance.GetTime();
     m_ePlayerState = MusicPlayerState.Guide;
     m_PlayKeynoteCallback(1);
 }
예제 #8
0
 public void Pause()
 {
     m_ePlayerState = MusicPlayerState.Pause;
 }
		/// <summary>
		/// Called when the activity is first created.
		/// </summary>
		public override void onCreate(Bundle savedInstanceState)
		{
			base.onCreate(savedInstanceState);

			ContentView = R.layout.music_player_layout;
			setupViewElements();

			mSmcLib = new Smc();

			try
			{
				mSmcLib.initialize(BaseContext);
			}
			catch (SsdkUnsupportedException e)
			{
				Console.WriteLine(e.ToString());
				Console.Write(e.StackTrace); //TODO Handle exceptions.
			}

			Log.d("media control lib version", mSmcLib.VersionName);

			// Prepare assets used by sample
			extractAssets();

			// Restore saved state, after e.g. rotating
			if (savedInstanceState != null)
			{
				mState = new MusicPlayerState(savedInstanceState);
			}
			else
			{
				mState = new MusicPlayerState();

				// Initialize state with built-in content
				File storageDir = new File(Environment.ExternalStorageDirectory, ASSETS_SUBDIR);
				File audio = new File(storageDir, MUSIC_FILE);

				//To get media information (title, artist, cover)
				MediaScannerConnection.scanFile(ApplicationContext, new string[]{audio.AbsolutePath}, null, this);

				Uri mediaUri = Uri.fromFile(audio);
				mState.mMediaUri = mediaUri;
				string path = mediaUri.Path;
				if (path != null && path.LastIndexOf(".", StringComparison.Ordinal) != -1)
				{
					string ext = path.Substring(path.LastIndexOf(".", StringComparison.Ordinal) + 1);
					mState.mMimeType = MimeTypeMap.Singleton.getMimeTypeFromExtension(ext);
				}
			}

		}
예제 #10
0
 public void Play()
 {
     m_fStartTime   = TimeManager.Instance.GetTime() - m_fRunTime / m_fMusicSpeed;
     m_ePlayerState = MusicPlayerState.Play;
 }
예제 #11
0
 public void ResumeGuide ()
 {
     m_fStartTime = TimeManager.Instance.GetTime() - m_fRunTime;
     m_ePlayerState = MusicPlayerState.Guide;
 }
예제 #12
0
 public void StartGuide()
 {
     m_fStartTime = TimeManager.Instance.GetTime();
     m_ePlayerState = MusicPlayerState.Guide;
     m_PlayKeynoteCallback(1);
 }
예제 #13
0
 public void Stop()
 {
     _woEvent.Stop();
     _state = MusicPlayerState.Stopped;
 }
예제 #14
0
 public void Pause()
 {
     _woEvent.Pause();
     _state = MusicPlayerState.Paused;
 }
예제 #15
0
 public void Play()
 {
     _woEvent.Play();
     _state = MusicPlayerState.Played;
 }
예제 #16
0
 public void ResumeGuide()
 {
     m_fStartTime   = TimeManager.Instance.GetTime() - m_fRunTime;
     m_ePlayerState = MusicPlayerState.Guide;
 }
예제 #17
0
 public void PauseGuide()
 {
     m_ePlayerState = MusicPlayerState.GuidePause;
 }
예제 #18
0
 public void PauseGuide()
 {
     m_ePlayerState = MusicPlayerState.GuidePause;
 }
예제 #19
0
 public void Pause()
 {
     m_ePlayerState = MusicPlayerState.Pause;
 }
예제 #20
0
 public void Play()
 {
     m_fStartTime = TimeManager.Instance.GetTime() - m_fRunTime / m_fMusicSpeed;
     m_ePlayerState = MusicPlayerState.Play;
 }