예제 #1
0
        private void Start()
        {
            //Debug.WriteLine("{0} {1} {2} {3}", "Start ASIO handler: ", AsioDevNum, AsioChannel, MixerStream);
            //Bass.Configure(Configuration.UpdatePeriod, 0);
            BassAsio.CurrentDevice = AsioDevNum;
            AsioInfo asioinfo;

            BassAsio.GetInfo(out asioinfo);
            BassAsio.Rate = 44100;
            dAsioProc     = new AsioProcedure(AsioProc);
            Cfg.AsioProcs.Add(dAsioProc); //prevent Garbage Collection
            CheckOKHard(BassAsio.ChannelEnable(false, 0, dAsioProc));
            CheckOKHard(BassAsio.ChannelJoin(false, 1, 0));
            BassAsio.ChannelSetFormat(false, 0, AsioSampleFormat.Bit16);
            BassAsio.ChannelSetFormat(false, 1, AsioSampleFormat.Bit16);
            SetdB();
            CheckOKHard(BassAsio.Start(asioinfo.PreferredBufferLength));
            //CheckOK(Bass.ChannelPlay(MixerStream, false));  //can't play decode chan
        }