示例#1
0
 public void retro_audio_sample_batch(void *data, int frames)
 {
     if (sampbuff.Length < frames * 2)
     {
         sampbuff = new short[frames * 2];
     }
     Marshal.Copy(new IntPtr(data), sampbuff, 0, (int)(frames * 2));
     resampler.EnqueueSamples(sampbuff, (int)frames);
     nsamprecv += (int)frames;
 }
示例#2
0
 uint retro_audio_sample_batch(IntPtr data, uint frames)
 {
     if (sampbuff.Length < frames * 2)
     {
         sampbuff = new short[frames * 2];
     }
     Marshal.Copy(data, sampbuff, 0, (int)(frames * 2));
     resampler.EnqueueSamples(sampbuff, (int)frames);
     nsamprecv += (int)frames;
     // what is the return from this used for?
     return(frames);
 }
示例#3
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);
        }