Handles playback of Audio files and Internet streams via the BASS Audio Engine.
Inheritance: MediaPortal.Player.IPlayer
Exemple #1
0
    private void PlaybackStateChanged(object sender, BassAudioEngine.PlayState oldState,
                                      BassAudioEngine.PlayState newState)
    {
      if (_visParam.VisHandle != 0)
      {
        Log.Debug("WMPViz: BassPlayer_PlaybackStateChanged from {0} to {1}", oldState.ToString(), newState.ToString());
        if (newState == BassAudioEngine.PlayState.Playing)
        {
          RenderStarted = false;
          trackTag = TagReader.TagReader.ReadTag(Bass.CurrentFile);
          if (trackTag != null)
          {
            _songTitle = String.Format("{0} - {1}", trackTag.Artist, trackTag.Title);
          }
          else
          {
            _songTitle = "   ";
          }

          _mediaInfo.SongTitle = _songTitle;
          _OldCurrentFile = Bass.CurrentFile;

          BassVis.BASSVIS_SetPlayState(_visParam, BASSVIS_PLAYSTATE.Play);
        }
        else if (newState == BassAudioEngine.PlayState.Paused)
        {
          BassVis.BASSVIS_SetPlayState(_visParam, BASSVIS_PLAYSTATE.Pause);
        }
        else if (newState == BassAudioEngine.PlayState.Ended)
        {
          BassVis.BASSVIS_SetPlayState(_visParam, BASSVIS_PLAYSTATE.Stop);
          RenderStarted = false;
        }
      }
    }
 public MixerStream(BassAudioEngine bassPlayer)
 {
   _bassPlayer = bassPlayer;
 }
    public VisualizationManager(BassAudioEngine bass, VisualizationWindow vizWindow)
    {
      Bass = bass;
      VisualizationBase.Bass = Bass;
      VizRenderWindow = vizWindow;

      GetVisualizationPluginsInfo();

      if (bass != null)
      {
        Bass.PlaybackStateChanged += new BassAudioEngine.PlaybackStateChangedDelegate(OnPlaybackStateChanged);
      }

      SetVisualizationFPS(_TargetFPS);
    }
    private void OnPlaybackStateChanged(object sender, BassAudioEngine.PlayState oldState,
                                        BassAudioEngine.PlayState newState)
    {
      if (Viz == null)
      {
        return;
      }

      // Start the visualization render thread the first time an audio file starts playing.
      // Subsequent play state changes will be managed by the VisualizationWindow.
      if (!Viz.Initialized || newState == BassAudioEngine.PlayState.Playing)
      {
        VizRenderWindow.Run = true;
      }
    }
 public MixerStream(BassAudioEngine bassPlayer)
 {
   _bassPlayer = bassPlayer;
   _playbackEndProcDelegate = new SYNCPROC(PlaybackEndProc);
 }