Esempio n. 1
0
        private int SetSampleDataToWasapiOne(int idx, byte[] pcm, int bytes)
        {
            int hr = 0;

            byte[] toBytes = new byte[0];

            if (WasapiCS.ShareMode.Exclusive == mShareMode)
            {
                // 排他モードの場合。
                toBytes = PcmDepthChannelConvert(pcm, 0, bytes, mFromFormat, mDeviceFormat);
            }
            else
            {
                // 共有モードの場合。
                hr = mMfResampler.Resample(pcm, out toBytes);
                if (hr < 0)
                {
                    Console.WriteLine("mMfResampler.Resample() failed {0:X8}", hr);
                    return(hr);
                }
            }

            mWasapi.AddPlayPcmDataSetPcmFragment(idx, mDecodedPcmOffs, toBytes);
            mDecodedPcmOffs += toBytes.Length;

            return(hr);
        }
        private void SetSampleDataToWasapiOne(int idx, byte[] pcm, int bytes)
        {
            var toBytes = PcmFormatConvert(pcm, 0, bytes, mFromFormat, mDeviceFormat);

            mWasapi.AddPlayPcmDataSetPcmFragment(idx, mDecodedPcmOffs, toBytes);
            mDecodedPcmOffs += toBytes.Length;
        }