コード例 #1
0
 protected LOOP_MODE mLoopMode;                      // 循环方式
 public AnimControl()
 {
     mInterval           = 0.033f;
     mEndIndex           = -1;
     mPlayDirection      = true;
     mAutoResetIndex     = true;
     mUseTextureSelfSize = true;
     mLoopMode           = LOOP_MODE.ONCE;
     mPlayState          = PLAY_STATE.STOP;
 }
コード例 #2
0
        public void SetLoopMode(LOOP_MODE mode)
        {
            int handle = this.Stream;

            switch (mode)
            {
            case LOOP_MODE.TRACK:
                Bass.BASS_ChannelFlags(handle, BASSFlag.BASS_SAMPLE_LOOP, BASSFlag.BASS_SAMPLE_LOOP);
                break;

            case LOOP_MODE.NONE:
            case LOOP_MODE.PLAYLIST:
                if ((Bass.BASS_ChannelFlags(handle, BASSFlag.BASS_DEFAULT, BASSFlag.BASS_DEFAULT) & BASSFlag.BASS_SAMPLE_LOOP) == BASSFlag.BASS_SAMPLE_LOOP)
                {
                    Bass.BASS_ChannelFlags(handle, BASSFlag.BASS_DEFAULT, BASSFlag.BASS_SAMPLE_LOOP);
                }
                break;
            }

            this.LoopMode = mode;
        }
コード例 #3
0
ファイル: MainVM.cs プロジェクト: fstarred/wammp
        private void Instance_StreamEnded()
        {
            LOOP_MODE loopMode = AudioControllerService.Current.LoopMode;

            int currentTrackIndex = TracklistProvider.Instance.CurrentIndex;

            if (loopMode != LOOP_MODE.TRACK)
            {
                bool isLastTrack = (currentTrackIndex + 1) < TracklistProvider.Instance.Tracks.Count == false;

                if (isLastTrack)
                {
                    if (loopMode == LOOP_MODE.PLAYLIST)
                    {
                        if (TracklistProvider.Instance.Tracks.Count > 0)
                        {
                            TracklistProvider.Instance.SetCurrentIndex(0);
                            AudioControllerService.Current.LoadFile(TracklistProvider.Instance.GetCurrentTrack().Location);
                        }
                    }
                    else
                    {
                        AudioControllerService.Current.Stop();
                    }
                }

                const bool autoForwardTracklist = true;

                if (autoForwardTracklist)
                {
                    if (isLastTrack == false)
                    {
                        TracklistProvider.Instance.SetCurrentIndex(currentTrackIndex + 1);
                        AudioControllerService.Current.LoadFile(TracklistProvider.Instance.GetCurrentTrack().Location);
                    }
                }
            }
        }
コード例 #4
0
 public void setLoop(LOOP_MODE loop)
 {
     mLoopMode = loop;
 }
コード例 #5
0
 public void setLoop(LOOP_MODE loop)
 {
     mControl.setLoop(loop);
 }