Ejemplo n.º 1
0
        void configureAndStartAudioProcessingGraph(AUGraph graph)
        {
            int  result         = 0;
            uint framesPerSlice = 0;

            result = ioUnit.Initialize();
            if (result != 0)
            {
                throw new Exception("Unable to Initialize the I/O unit.  Error code: " + result);
            }

            var status = ioUnit.SetSampleRate(graphSampleRate, AudioUnitScopeType.Output);

            if (status != AudioUnitStatus.NoError)
            {
                throw new Exception("AudioUnitSetProperty (set Sample output stream sample rate).  Error code: " + (int)status);
            }

            framesPerSlice = ioUnit.GetMaximumFramesPerSlice(AudioUnitScopeType.Global);

            samplerUnit.SetSampleRate(graphSampleRate, AudioUnitScopeType.Output);
            samplerUnit.SetMaximumFramesPerSlice(framesPerSlice, AudioUnitScopeType.Global);

            if (graph != null)
            {
                result = (int)graph.Initialize();
                if (result != (int)AUGraphError.OK)
                {
                    throw new Exception("Unable to initialize AUGraph object.  Error code: " + result);
                }

                result = (int)graph.Start();
                if (result != (int)AUGraphError.OK)
                {
                    throw new Exception("Unable to start audio processing graph.  Error code: " + result);
                }

//				TODO: CAShow
                Console.WriteLine(graph);
            }
        }