Example #1
0
        public MusicPlayer(
            IMusicQueue queue,
            ITrackResolveProvider trackResolveProvider,
            IVoiceProxy proxy,
            QualityPreset qualityPreset)
        {
            _queue = queue;
            _trackResolveProvider = trackResolveProvider;
            _proxy = proxy;
            _rng = new NadekoRandom();

            _vc = GetVoiceClient(qualityPreset);
            if (_vc.BitDepth == 16)
                AdjustVolume = AdjustVolumeInt16;
            else
                AdjustVolume = AdjustVolumeFloat32;
            
            _songBuffer = new PoopyBufferImmortalized(_vc.InputLength);

            _thread = new Thread(async () =>
            {
                await PlayLoop();
            });
            _thread.Start();
        }
Example #2
0
 public bool TryGetProxy(ulong guildId, out IVoiceProxy proxy)
 => _voiceProxies.TryGetValue(guildId, out proxy);