wechat/audio

audio module provides audio API bindings details in wechat document

Types

AudioContext type

pub type AudioContext

InnerAudioContext type

pub type InnerAudioContext

WebAudioContext type

pub type WebAudioContext

Values

pub fn audio_pause(ctx: AudioContext) -> Nil

AudioContext.pause

pub fn audio_play(ctx: AudioContext) -> Nil

AudioContext.play

pub fn audio_seek(ctx: AudioContext, position p: Float) -> Nil

AudioContext.seek

pub fn create_audio_context(id s: String) -> AudioContext

wx.createAudioContext Create audio context

pub fn create_inner_audio_context() -> InnerAudioContext

wx.createInnerAudioContext Create inner audio context

pub fn create_web_audio_context() -> WebAudioContext

wx.createWebAudioContext Create WebAudio context

pub fn get_available_audio_sources(
  complete cb: fn() -> Nil,
) -> promise.Promise(Result(object.JsObject, object.WechatError))

wx.getAvailableAudioSources Get available audio input sources

pub fn get_inner_audio_buffered(ctx: InnerAudioContext) -> Float

InnerAudioContext.getBuffered

pub fn get_inner_audio_current_time(
  ctx: InnerAudioContext,
) -> Float

InnerAudioContext.getCurrentTime

pub fn get_inner_audio_duration(ctx: InnerAudioContext) -> Float

InnerAudioContext.getDuration

pub fn get_inner_audio_paused(ctx: InnerAudioContext) -> Bool

InnerAudioContext.getPaused

pub fn inner_audio_destroy(ctx: InnerAudioContext) -> Nil

InnerAudioContext.destroy

pub fn inner_audio_pause(ctx: InnerAudioContext) -> Nil

InnerAudioContext.pause

pub fn inner_audio_play(ctx: InnerAudioContext) -> Nil

InnerAudioContext.play

pub fn inner_audio_seek(
  ctx: InnerAudioContext,
  position p: Float,
) -> Nil

InnerAudioContext.seek

pub fn inner_audio_stop(ctx: InnerAudioContext) -> Nil

InnerAudioContext.stop

pub fn off_inner_audio_canplay(
  ctx: InnerAudioContext,
  cb: fn() -> Nil,
) -> Nil

InnerAudioContext.offCanplay

pub fn off_inner_audio_ended(
  ctx: InnerAudioContext,
  cb: fn() -> Nil,
) -> Nil

InnerAudioContext.offEnded

pub fn off_inner_audio_error(
  ctx: InnerAudioContext,
  cb: fn(object.JsObject) -> Nil,
) -> Nil

InnerAudioContext.offError

pub fn off_inner_audio_pause(
  ctx: InnerAudioContext,
  cb: fn() -> Nil,
) -> Nil

InnerAudioContext.offPause

pub fn off_inner_audio_play(
  ctx: InnerAudioContext,
  cb: fn() -> Nil,
) -> Nil

InnerAudioContext.offPlay

pub fn off_inner_audio_seeked(
  ctx: InnerAudioContext,
  cb: fn() -> Nil,
) -> Nil

InnerAudioContext.offSeeked

pub fn off_inner_audio_seeking(
  ctx: InnerAudioContext,
  cb: fn() -> Nil,
) -> Nil

InnerAudioContext.offSeeking

pub fn off_inner_audio_stop(
  ctx: InnerAudioContext,
  cb: fn() -> Nil,
) -> Nil

InnerAudioContext.offStop

pub fn off_inner_audio_time_update(
  ctx: InnerAudioContext,
  cb: fn(object.JsObject) -> Nil,
) -> Nil

InnerAudioContext.offTimeUpdate

pub fn off_inner_audio_waiting(
  ctx: InnerAudioContext,
  cb: fn() -> Nil,
) -> Nil

InnerAudioContext.offWaiting

pub fn on_inner_audio_canplay(
  ctx: InnerAudioContext,
  cb: fn() -> Nil,
) -> Nil

InnerAudioContext.onCanplay

pub fn on_inner_audio_ended(
  ctx: InnerAudioContext,
  cb: fn() -> Nil,
) -> Nil

InnerAudioContext.onEnded

pub fn on_inner_audio_error(
  ctx: InnerAudioContext,
  cb: fn(object.JsObject) -> Nil,
) -> Nil

InnerAudioContext.onError

pub fn on_inner_audio_pause(
  ctx: InnerAudioContext,
  cb: fn() -> Nil,
) -> Nil

InnerAudioContext.onPause

pub fn on_inner_audio_play(
  ctx: InnerAudioContext,
  cb: fn() -> Nil,
) -> Nil

InnerAudioContext.onPlay

pub fn on_inner_audio_seeked(
  ctx: InnerAudioContext,
  cb: fn() -> Nil,
) -> Nil

InnerAudioContext.onSeeked

pub fn on_inner_audio_seeking(
  ctx: InnerAudioContext,
  cb: fn() -> Nil,
) -> Nil

InnerAudioContext.onSeeking

pub fn on_inner_audio_stop(
  ctx: InnerAudioContext,
  cb: fn() -> Nil,
) -> Nil

InnerAudioContext.onStop

pub fn on_inner_audio_time_update(
  ctx: InnerAudioContext,
  cb: fn(object.JsObject) -> Nil,
) -> Nil

InnerAudioContext.onTimeUpdate

pub fn on_inner_audio_waiting(
  ctx: InnerAudioContext,
  cb: fn() -> Nil,
) -> Nil

InnerAudioContext.onWaiting

pub fn pause_voice(
  complete cb: fn() -> Nil,
) -> promise.Promise(Result(object.JsObject, object.WechatError))

wx.pauseVoice Pause voice

pub fn play_voice(
  file_path fp: String,
  duration d: Int,
  complete cb: fn() -> Nil,
) -> promise.Promise(Result(object.JsObject, object.WechatError))

wx.playVoice Play voice

pub fn set_audio_src(ctx: AudioContext, src s: String) -> Nil

AudioContext.setSrc

pub fn set_inner_audio_autoplay(
  ctx: InnerAudioContext,
  autoplay a: Bool,
) -> Nil

InnerAudioContext.setAutoplay

pub fn set_inner_audio_loop(
  ctx: InnerAudioContext,
  loop l: Bool,
) -> Nil

InnerAudioContext.setLoop

pub fn set_inner_audio_obey_mute_switch(
  ctx: InnerAudioContext,
  obey o: Bool,
) -> Nil

InnerAudioContext.setObeyMuteSwitch

pub fn set_inner_audio_option(
  mix_with_others mwo: Bool,
  obey_mute_switch oms: Bool,
  complete cb: fn() -> Nil,
) -> promise.Promise(Result(object.JsObject, object.WechatError))

wx.setInnerAudioOption Set InnerAudioContext options globally

pub fn set_inner_audio_playback_rate(
  ctx: InnerAudioContext,
  rate r: Float,
) -> Nil

InnerAudioContext.setPlaybackRate

pub fn set_inner_audio_src(
  ctx: InnerAudioContext,
  src s: String,
) -> Nil

InnerAudioContext.setSrc

pub fn set_inner_audio_start_time(
  ctx: InnerAudioContext,
  start_time st: Float,
) -> Nil

InnerAudioContext.setStartTime

pub fn set_inner_audio_volume(
  ctx: InnerAudioContext,
  volume v: Float,
) -> Nil

InnerAudioContext.setVolume

pub fn stop_voice(
  complete cb: fn() -> Nil,
) -> promise.Promise(Result(object.JsObject, object.WechatError))

wx.stopVoice Stop voice

pub fn web_audio_close(wac: WebAudioContext) -> Nil

WebAudioContext.close Close WebAudio context

pub fn web_audio_create_analyser(
  wac: WebAudioContext,
) -> object.JsObject

WebAudioContext.createAnalyser Create analyser node

pub fn web_audio_create_biquad_filter(
  wac: WebAudioContext,
) -> object.JsObject

WebAudioContext.createBiquadFilter Create biquad filter node

pub fn web_audio_create_buffer(
  wac: WebAudioContext,
  num_channels nc: Int,
  length l: Int,
  sample_rate sr: Float,
) -> object.JsObject

WebAudioContext.createBuffer Create audio buffer

pub fn web_audio_create_buffer_source(
  wac: WebAudioContext,
) -> object.JsObject

WebAudioContext.createBufferSource Create buffer source node

pub fn web_audio_create_channel_merger(
  wac: WebAudioContext,
  inputs i: Int,
) -> object.JsObject

WebAudioContext.createChannelMerger Create channel merger node

pub fn web_audio_create_channel_splitter(
  wac: WebAudioContext,
  outputs o: Int,
) -> object.JsObject

WebAudioContext.createChannelSplitter Create channel splitter node

pub fn web_audio_create_constant_source(
  wac: WebAudioContext,
) -> object.JsObject

WebAudioContext.createConstantSource Create constant source node

pub fn web_audio_create_delay(
  wac: WebAudioContext,
  max_delay md: Float,
) -> object.JsObject

WebAudioContext.createDelay Create delay node

pub fn web_audio_create_dynamics_compressor(
  wac: WebAudioContext,
) -> object.JsObject

WebAudioContext.createDynamicsCompressor Create dynamics compressor node

pub fn web_audio_create_gain(
  wac: WebAudioContext,
) -> object.JsObject

WebAudioContext.createGain Create gain node

pub fn web_audio_create_iir_filter(
  wac: WebAudioContext,
  feedforward ff: object.JsObject,
  feedback fb: object.JsObject,
) -> object.JsObject

WebAudioContext.createIIRFilter Create IIR filter node

pub fn web_audio_create_oscillator(
  wac: WebAudioContext,
) -> object.JsObject

WebAudioContext.createOscillator Create oscillator node

pub fn web_audio_create_panner(
  wac: WebAudioContext,
) -> object.JsObject

WebAudioContext.createPanner Create panner node

pub fn web_audio_create_periodic_wave(
  wac: WebAudioContext,
  options o: object.JsObject,
) -> object.JsObject

WebAudioContext.createPeriodicWave Create periodic wave

pub fn web_audio_create_script_processor(
  wac: WebAudioContext,
  buffer_size bs: Int,
  num_inputs ni: Int,
  num_outputs no: Int,
) -> object.JsObject

WebAudioContext.createScriptProcessor Create script processor node

pub fn web_audio_create_wave_shaper(
  wac: WebAudioContext,
  curve c: object.JsObject,
) -> object.JsObject

WebAudioContext.createWaveShaper Create wave shaper node

pub fn web_audio_decode_audio_data(
  wac: WebAudioContext,
  array_buffer ab: object.JsObject,
  complete cb: fn() -> Nil,
) -> promise.Promise(Result(object.JsObject, object.WechatError))

WebAudioContext.decodeAudioData Decode audio data

pub fn web_audio_resume(wac: WebAudioContext) -> Nil

WebAudioContext.resume Resume WebAudio context

pub fn web_audio_suspend(wac: WebAudioContext) -> Nil

WebAudioContext.suspend Suspend WebAudio context

Search Document