Beispiel #1
0
        public override bool MusicDeliver(PluginMusicDeliveryArgs args)
        {
            if (_client == null)
            {
                return false;
            }

            if (_providerConverted == null)
            {
                _volumeProvider = new VolumeSource(args.Source.ChangeSampleRate(48000).ToSampleSource());
                _providerConverted = new BufferSource(_volumeProvider.ToWaveSource(16), _volumeProvider.WaveFormat.BytesPerSecond * 4);
            }

            _volumeProvider.Volume = MusicPlayer.Current.Volume;

            byte[] buffer = new byte[_volumeProvider.WaveFormat.BytesPerSecond];
            int byteCount = _providerConverted.Read(buffer, 0, buffer.Length);

            if (byteCount > 0)
            {
                _voiceClient?.Send(buffer, 0, byteCount);
            }
           

            return true;
        }
Beispiel #2
0
 public virtual bool MusicDeliver(PluginMusicDeliveryArgs args)
 {
     return false;
 }