Class: Browser::Audio::Context

Inherits:
Object
  • Object
show all
Includes:
Native::Wrapper
Defined in:
opal/browser/audio.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeContext

Returns a new instance of Context.

Raises:

  • (NotImplementedError)


21
22
23
# File 'opal/browser/audio.rb', line 21

def initialize
  super `new AudioContext()`
end

Class Method Details

.supported?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'opal/browser/audio.rb', line 16

def self.supported?
  Browser.support?('Audio') || Browser.support?('Audio (Chrome)')
end

Instance Method Details

#biquad_filterObject



50
51
52
# File 'opal/browser/audio.rb', line 50

def biquad_filter
  Node::BiquadFilter.new(self)
end

#delay(max_time) ⇒ Object



42
43
44
# File 'opal/browser/audio.rb', line 42

def delay(max_time)
  Node::Delay.new(self, max_time)
end

#dynamics_compressorObject



46
47
48
# File 'opal/browser/audio.rb', line 46

def dynamics_compressor
  Node::DynamicsCompressor.new(self)
end

#gainObject



34
35
36
# File 'opal/browser/audio.rb', line 34

def gain
  Node::Gain.new(self)
end

#oscillatorObject



38
39
40
# File 'opal/browser/audio.rb', line 38

def oscillator
  Node::Oscillator.new(self)
end

#periodic_wave(real, imaginary) ⇒ Object



58
59
60
# File 'opal/browser/audio.rb', line 58

def periodic_wave(real, imaginary)
  `#{@native}.createPeriodicWave(new Float32Array(#{real}), new Float32Array(#{imaginary}))`
end

#stereo_pannerObject



54
55
56
# File 'opal/browser/audio.rb', line 54

def stereo_panner
  Node::StereoPanner.new(self)
end