コード例 #1
0
        public override Sound SoundCreateDataBuffer(SoundMode mode, int channels, int frequency,
                                                    int bufferSize, DataReadDelegate dataReadCallback)
        {
            criticalSection.Enter();

            Sound sound;

            if ((mode & SoundMode.Record) != 0)
            {
                OpenALCaptureSound captureSound = new OpenALCaptureSound(
                    mode, channels, frequency, bufferSize);
                if (captureSound.alCaptureDevice == IntPtr.Zero)
                {
                    criticalSection.Leave();
                    return(null);
                }
                sound = captureSound;
            }
            else
            {
                sound = new OpenALDataStreamSound(mode, channels, frequency, bufferSize,
                                                  dataReadCallback);
            }

            criticalSection.Leave();

            return(sound);
        }
コード例 #2
0
 public static Sound SoundCreateDataBuffer(SoundModes mode, int channels, int frequency, int bufferSize, DataReadDelegate dataReadCallback)
 {
     return(instance._SoundCreateDataBuffer(mode, channels, frequency, bufferSize, dataReadCallback));
 }
コード例 #3
0
 protected abstract Sound _SoundCreateDataBuffer(SoundModes mode, int channels, int frequency, int bufferSize, DataReadDelegate dataReadCallback);
コード例 #4
0
        unsafe public override Sound SoundCreateDataBuffer(SoundMode mode, int channels,
                                                           int frequency, int bufferSize, DataReadDelegate dataReadCallback)
        {
            criticalSection.Enter();

            Sound sound;

            if ((int)(mode & SoundMode.Record) != 0)
            {
                DirectCaptureSound captureSound = new DirectCaptureSound(
                    mode, channels, frequency, bufferSize);
                if (captureSound.soundCapture == null)
                {
                    captureSound = null;
                }
                sound = captureSound;
            }
            else
            {
                sound = new DirectDataStreamSound(mode, channels, frequency,
                                                  bufferSize, dataReadCallback);
            }

            criticalSection.Leave();

            return(sound);
        }
コード例 #5
0
 protected override Sound _SoundCreateDataBuffer(SoundModes mode, int channels, int frequency, int bufferSize, DataReadDelegate dataBufferCallback)
 {
     return(null);
 }
コード例 #6
0
ファイル: DirectSoundWorld.cs プロジェクト: whztt07/SDK
		unsafe public override Sound SoundCreateDataBuffer( SoundMode mode, int channels,
			int frequency, int bufferSize, DataReadDelegate dataReadCallback )
		{
			criticalSection.Enter();

			Sound sound;

			if( (int)( mode & SoundMode.Record ) != 0 )
			{
				DirectCaptureSound captureSound = new DirectCaptureSound(
					mode, channels, frequency, bufferSize );
				if( captureSound.soundCapture == null )
					captureSound = null;
				sound = captureSound;
			}
			else
			{
				sound = new DirectDataStreamSound( mode, channels, frequency,
					bufferSize, dataReadCallback );
			}

			criticalSection.Leave();

			return sound;
		}
コード例 #7
0
ファイル: OpenALSoundWorld.cs プロジェクト: whztt07/SDK
		public override Sound SoundCreateDataBuffer( SoundMode mode, int channels, int frequency,
			int bufferSize, DataReadDelegate dataReadCallback )
		{
			criticalSection.Enter();

			Sound sound;

			if( ( mode & SoundMode.Record ) != 0 )
			{
				OpenALCaptureSound captureSound = new OpenALCaptureSound(
					mode, channels, frequency, bufferSize );
				if( captureSound.alCaptureDevice == IntPtr.Zero )
				{
					criticalSection.Leave();
					return null;
				}
				sound = captureSound;
			}
			else
			{
				sound = new OpenALDataStreamSound( mode, channels, frequency, bufferSize,
					dataReadCallback );
			}

			criticalSection.Leave();

			return sound;
		}