Example #1
0
        static void Main(string[] args)
        {
            _readBuffer = new byte[960];
            Console.WriteLine("Opening \"{0}\" for playback", OpenALHelper.PlaybackDevices[0].DeviceName);
            Console.WriteLine("Opening \"{0}\" for capture", OpenALHelper.CaptureDevices[0].DeviceName);

            _playback = OpenALHelper.PlaybackDevices[0].OpenStream(48000, OpenALAudioFormat.Mono16Bit);
            _playback.Listener.Position = new Vector3() { X = 0.0f, Y = 0.0f, Z = 0.0f };
            _playback.Listener.Velocity = new Vector3() { X = 0.0f, Y = 0.0f, Z = 0.0f };
            _playback.Listener.Orientation = new Orientation()
                {
                    At = new Vector3() { X = 0.0f, Y = 0.0f, Z = 1.0f },
                    Up = new Vector3() { X = 0.0f, Y = 1.0f, Z = 0.0f }
                };
            _playback.ALPosition = new Vector3() { X = 0.0f, Y = 0.0f, Z = 0.0f };
            _playback.Velocity = new Vector3() { X = 0.0f, Y = 0.0f, Z = 0.0f };
            _capture = OpenALHelper.CaptureDevices[0].OpenStream(48000, OpenALAudioFormat.Mono16Bit, 10);
            _capture.BeginRead(_readBuffer, 0, _readBuffer.Length, Callback, null);

            while (true)
            {
                PrintUI();
                if (ProcessInput())
                    break;
            }

            _playback.Close();
            _playback.Dispose();
            _capture.Close();
            _capture.Dispose();
        }
 public PlaybackStream OpenStream(uint sampleRate, OpenALAudioFormat format)
 {
     EnsureDeviceIsOpen();
     var ret = new PlaybackStream(sampleRate, format, this, _context);
     lock(_streams)
         _streams.Add(ret);
     return ret;
 }
Example #3
0
        public PlaybackStream OpenStream(uint sampleRate, OpenALAudioFormat format)
        {
            EnsureDeviceIsOpen();
            var ret = new PlaybackStream(sampleRate, format, this, _context);

            lock (_streams)
                _streams.Add(ret);
            return(ret);
        }
Example #4
0
 internal void ClosedStream(PlaybackStream stream)
 {
     lock (_streams)
     {
         _streams.Remove(stream);
         if (_streams.Count == 0)
         {
             CloseDevice();
         }
     }
 }
 internal void ClosedStream(PlaybackStream stream)
 {
     lock (_streams)
     {
         _streams.Remove(stream);
         if (_streams.Count == 0)
         {
             CloseDevice();
         }
     }
 }