Class: Win32::WAVEFORMATEX

Inherits:
FFI::Struct
  • Object
show all
Defined in:
lib/win32/win32-mmlib_structs.rb

Overview

define WAVEFORMATEX which defines the format (PCM in this case) and various properties like sampling rate, number of channels, etc.

Instance Method Summary collapse

Constructor Details

#initialize(nSamplesPerSec = 44100, wBitsPerSample = 16, nChannels = 1, cbSize = 0) ⇒ WAVEFORMATEX

Returns a new instance of WAVEFORMATEX.



21
22
23
24
25
26
27
28
29
# File 'lib/win32/win32-mmlib_structs.rb', line 21

def initialize(nSamplesPerSec = 44100, wBitsPerSample = 16, nChannels = 1, cbSize = 0)
  self[:wFormatTag] = WAVE_FORMAT_PCM
  self[:nChannels] = nChannels
  self[:nSamplesPerSec] = nSamplesPerSec
  self[:wBitsPerSample] = wBitsPerSample
  self[:cbSize] = cbSize
  self[:nBlockAlign] = (self[:wBitsPerSample] >> 3) * self[:nChannels]
  self[:nAvgBytesPerSec] = self[:nBlockAlign] * self[:nSamplesPerSec]
end