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; }
public PlaybackStream OpenStream(uint sampleRate, OpenALAudioFormat format) { EnsureDeviceIsOpen(); var ret = new PlaybackStream(sampleRate, format, this, _context); lock (_streams) _streams.Add(ret); return(ret); }
internal void ClosedStream(PlaybackStream stream) { lock (_streams) { _streams.Remove(stream); if (_streams.Count == 0) { CloseDevice(); } } }