Example #1
0
        public async void Play(int buffer)
        {
            _backend.SourceSetBuffer(_source, buffer);
            Volume  = _volume;
            Pitch   = _pitch;
            Panning = _panning;
            _backend.SourceSetLooping(_source, IsLooping);
            _backend.SourcePlay(_source);
            _errors.HasErrors();

            if (IsLooping)
            {
                return;
            }
            // Query the source to find out when it stops playing.
            do
            {
                await Task.Delay(100);
            }while (_backend.SourceIsPlaying(_source));
            _tcs.TrySetResult(null);
        }