Пример #1
0
        public void GetSamplesSync(out short[] samples, out int nsamp)
        {
            nsamp   = GetSampleCount();
            samples = new short[nsamp * 2];             //*2 for stereo sound
            fixed(short *data = samples)
            {
                GetSamples(data, nsamp);
            }

            // BizHawk requires a sample rate of 44100 Hz.
            _resampler.EnqueueSamples(samples, nsamp);
            _resampler.GetSamplesSync(out samples, out nsamp);
        }
Пример #2
0
            public void GetSamplesSync(out short[] samples, out int nsamp)
            {
                int nsampin = framebuffer.SoundBufferByteLength;

                unsafe
                {
                    fixed(byte *src = framebuffer.SoundBuffer)
                    {
                        for (int i = 0; i < nsampin; i++)
                        {
                            // the buffer values don't really get very large at all,
                            // so this doesn't overflow
                            short s = (short)(src[i] * 200);
                            resampler.EnqueueSample(s, s);
                        }
                    }
                }
                resampler.GetSamplesSync(out samples, out nsamp);
                dcfilter.PushThroughSamples(samples, nsamp * 2);
            }