wechat/media

media module provides media API bindings details in wechat document

Types

AudioContext type

pub type AudioContext

LivePlayer type for live streaming playback

pub type LivePlayer

LivePusher type for live streaming

pub type LivePusher

MediaAudioPlayer - 媒体音频播放器

MediaAudioPlayer type

pub type MediaAudioPlayer

MediaContainer - 音视频合成

MediaContainer type for audio/video composition

pub type MediaContainer

MediaRecorder type for screen recording

pub type MediaRecorder

MediaTrack type for media track

pub type MediaTrack

VideoDecoder - 视频解码器

VideoDecoder type

pub type VideoDecoder

Values

pub fn audio_context_pause(ctx: AudioContext) -> Nil

AudioContext.pause Pause audio

pub fn audio_context_play(ctx: AudioContext) -> Nil

AudioContext.play Play audio

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

AudioContext.seek Seek to position

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

AudioContext.setSrc Set audio source

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

wx.checkDeviceSupportHevc Check device HEVC support

pub fn choose_image(
  count c: Int,
  size_type st: List(String),
  source_type s: List(String),
  complete cb: fn() -> Nil,
) -> promise.Promise(Result(object.JsObject, object.WechatError))

wx.chooseImage Select pictures from local album or take photos with camera

pub fn choose_media(
  count c: Int,
  media_type mt: String,
  source_type st: String,
  max_duration md: Int,
  camera ca: String,
  complete cb: fn() -> Nil,
) -> promise.Promise(Result(object.JsObject, object.WechatError))

wx.chooseMedia Choose media (image or video)

pub fn choose_message_file(
  count c: Int,
  file_type t: String,
  extension e: List(String),
  complete cb: fn() -> Nil,
) -> promise.Promise(Result(object.JsObject, object.WechatError))

wx.chooseMessageFile Select file from client session

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

wx.chooseVideo Choose video

pub fn compress_image(
  src s: String,
  quality q: Int,
  complete cb: fn() -> Nil,
) -> promise.Promise(Result(object.JsObject, object.WechatError))

wx.compressImage Compress image

pub fn compress_video(
  src s: String,
  options o: object.JsObject,
  complete cb: fn() -> Nil,
) -> promise.Promise(Result(object.JsObject, object.WechatError))

wx.compressVideo Compress video

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

wx.createAudioContext Create audio context

pub fn create_live_player_context(id s: String) -> LivePlayer

LivePlayer - Live Streaming Playback

wx.createLivePlayerContext Create live player context

pub fn create_live_pusher_context(id s: String) -> LivePusher

LivePusher - Live Streaming

wx.createLivePusherContext Create live pusher context

pub fn create_media_audio_player() -> MediaAudioPlayer

wx.createMediaAudioPlayer Create media audio player

pub fn create_media_container(
  options o: object.JsObject,
) -> MediaContainer

wx.createMediaContainer Create media container for audio/video composition

pub fn create_video_decoder(
  options o: object.JsObject,
) -> VideoDecoder

wx.createVideoDecoder Create video decoder for frame-by-frame decoding

pub fn crop_image(
  src s: String,
  options o: object.JsObject,
  complete cb: fn() -> Nil,
) -> promise.Promise(Result(object.JsObject, object.WechatError))

wx.cropImage Crop image

pub fn edit_image(
  src s: String,
  options o: object.JsObject,
  complete cb: fn() -> Nil,
) -> promise.Promise(Result(object.JsObject, object.WechatError))

Video Editing

wx.editImage Edit image

pub fn get_image_info(
  src s: String,
  complete cb: fn() -> Nil,
) -> promise.Promise(Result(object.JsObject, object.WechatError))

wx.getImageInfo Get image information

pub fn get_media_recorder() -> MediaRecorder

MediaRecorder - Screen Recording

wx.getMediaRecorder Get media recorder instance

pub fn get_video_info(
  src s: String,
  complete cb: fn() -> Nil,
) -> promise.Promise(Result(object.JsObject, object.WechatError))

wx.getVideoInfo Get video info

pub fn live_player_exit_background_playback(
  player: LivePlayer,
) -> Nil

LivePlayer.exitBackgroundPlayback Exit background audio playback mode

pub fn live_player_exit_casting(player: LivePlayer) -> Nil

LivePlayer.exitCasting Exit casting

pub fn live_player_exit_full_screen(player: LivePlayer) -> Nil

LivePlayer.exitFullScreen Exit full screen

pub fn live_player_exit_picture_in_picture(
  player: LivePlayer,
) -> Nil

LivePlayer.exitPictureInPicture Exit picture-in-picture

pub fn live_player_mute(player: LivePlayer, m: Bool) -> Nil

LivePlayer.mute Mute live stream

pub fn live_player_off(
  player: LivePlayer,
  event e: String,
  callback cb: fn(object.JsObject) -> Nil,
) -> Nil

LivePlayer.off Cancel listening for live player events

pub fn live_player_on(
  player: LivePlayer,
  event e: String,
  callback cb: fn(object.JsObject) -> Nil,
) -> Nil

LivePlayer.on Listen for live player events

pub fn live_player_play(player: LivePlayer) -> Nil

LivePlayer.play Play live stream

pub fn live_player_reconnect_casting(player: LivePlayer) -> Nil

LivePlayer.reconnectCasting Reconnect casting device

pub fn live_player_request_full_screen(
  player: LivePlayer,
  direction d: Int,
) -> Nil

LivePlayer.requestFullScreen Request full screen

pub fn live_player_resume(player: LivePlayer) -> Nil

LivePlayer.resume Resume live stream

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

LivePlayer.snapshot Take snapshot

pub fn live_player_start_casting(player: LivePlayer) -> Nil

LivePlayer.startCasting Start casting

pub fn live_player_stop(player: LivePlayer) -> Nil

LivePlayer.stop Stop live stream

pub fn live_player_switch_casting(player: LivePlayer) -> Nil

LivePlayer.switchCasting Switch casting device

pub fn live_pusher_apply_blusher_stick_makeup(
  pusher: LivePusher,
  makeup m: object.JsObject,
) -> Nil

LivePusher.applyBlusherStickMakeup Apply blusher makeup

pub fn live_pusher_apply_eye_brow_makeup(
  pusher: LivePusher,
  makeup m: object.JsObject,
) -> Nil

LivePusher.applyEyeBrowMakeup Apply eyebrow makeup

pub fn live_pusher_apply_eye_shadow_makeup(
  pusher: LivePusher,
  makeup m: object.JsObject,
) -> Nil

LivePusher.applyEyeShadowMakeup Apply eye shadow makeup

pub fn live_pusher_apply_face_contour_makeup(
  pusher: LivePusher,
  makeup m: object.JsObject,
) -> Nil

LivePusher.applyFaceContourMakeup Apply face contour makeup

pub fn live_pusher_apply_filter(
  pusher: LivePusher,
  filter f: object.JsObject,
) -> Nil

LivePusher.applyFilter Apply filter effect

pub fn live_pusher_apply_lip_stick_makeup(
  pusher: LivePusher,
  makeup m: object.JsObject,
) -> Nil

LivePusher.applyLipStickMakeup Apply lipstick makeup

pub fn live_pusher_apply_sticker(
  pusher: LivePusher,
  sticker s: object.JsObject,
) -> Nil

LivePusher.applySticker Apply sticker effect

pub fn live_pusher_clear_filters(pusher: LivePusher) -> Nil

LivePusher.clearFilters Clear all filters

pub fn live_pusher_clear_makeups(pusher: LivePusher) -> Nil

LivePusher.clearMakeups Clear all makeup

pub fn live_pusher_clear_stickers(pusher: LivePusher) -> Nil

LivePusher.clearStickers Clear all stickers

pub fn live_pusher_create_offscreen_canvas(
  pusher: LivePusher,
) -> object.JsObject

LivePusher.createOffscreenCanvas Create offscreen canvas

pub fn live_pusher_exit_picture_in_picture(
  pusher: LivePusher,
) -> Nil

LivePusher.exitPictureInPicture Exit picture-in-picture

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

LivePusher.getMaxZoom Get maximum zoom level

pub fn live_pusher_off(
  pusher: LivePusher,
  event e: String,
  callback cb: fn(object.JsObject) -> Nil,
) -> Nil

LivePusher.off Cancel listening for live pusher events

pub fn live_pusher_on(
  pusher: LivePusher,
  event e: String,
  callback cb: fn(object.JsObject) -> Nil,
) -> Nil

LivePusher.on Listen for live pusher events

pub fn live_pusher_on_custom_renderer_event(
  pusher: LivePusher,
  callback cb: fn(object.JsObject) -> Nil,
) -> Nil

LivePusher.onCustomRendererEvent Listen for custom renderer events

pub fn live_pusher_pause(pusher: LivePusher) -> Nil

LivePusher.pause Pause push stream

pub fn live_pusher_pause_bgm(pusher: LivePusher) -> Nil

LivePusher.pauseBGM Pause background music

pub fn live_pusher_play_bgm(pusher: LivePusher) -> Nil

LivePusher.playBGM Play background music

pub fn live_pusher_resume(pusher: LivePusher) -> Nil

LivePusher.resume Resume push stream

pub fn live_pusher_resume_bgm(pusher: LivePusher) -> Nil

LivePusher.resumeBGM Resume background music

pub fn live_pusher_send_message(
  pusher: LivePusher,
  message m: object.JsObject,
) -> Nil

LivePusher.sendMessage Send SEI message

pub fn live_pusher_set_bgm_volume(
  pusher: LivePusher,
  volume v: Float,
) -> Nil

LivePusher.setBGMVolume Set background music volume

pub fn live_pusher_set_mic_volume(
  pusher: LivePusher,
  volume v: Float,
) -> Nil

LivePusher.setMICVolume Set microphone volume

pub fn live_pusher_set_zoom(
  pusher: LivePusher,
  zoom z: Float,
) -> Nil

LivePusher.setZoom Set zoom level

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

LivePusher.snapshot Take snapshot

pub fn live_pusher_start(pusher: LivePusher) -> Nil

LivePusher.start Start push stream

pub fn live_pusher_start_preview(pusher: LivePusher) -> Nil

LivePusher.startPreview Start camera preview

pub fn live_pusher_stop(pusher: LivePusher) -> Nil

LivePusher.stop Stop push stream

pub fn live_pusher_stop_bgm(pusher: LivePusher) -> Nil

LivePusher.stopBGM Stop background music

pub fn live_pusher_stop_preview(pusher: LivePusher) -> Nil

LivePusher.stopPreview Stop camera preview

pub fn live_pusher_switch_camera(pusher: LivePusher) -> Nil

LivePusher.switchCamera Switch camera

pub fn live_pusher_toggle_torch(pusher: LivePusher) -> Nil

LivePusher.toggleTorch Toggle torch

pub fn media_audio_player_add_audio_source(
  player: MediaAudioPlayer,
  source s: object.JsObject,
) -> Nil

MediaAudioPlayer.addAudioSource Add audio source

pub fn media_audio_player_destroy(
  player: MediaAudioPlayer,
) -> Nil

MediaAudioPlayer.destroy Destroy player

pub fn media_audio_player_remove_audio_source(
  player: MediaAudioPlayer,
  source s: object.JsObject,
) -> Nil

MediaAudioPlayer.removeAudioSource Remove audio source

pub fn media_audio_player_start(player: MediaAudioPlayer) -> Nil

MediaAudioPlayer.start Start player

pub fn media_audio_player_stop(player: MediaAudioPlayer) -> Nil

MediaAudioPlayer.stop Stop player

pub fn media_container_add_track(
  container: MediaContainer,
  track: MediaTrack,
) -> Nil

MediaContainer.addTrack Add audio or video track to container

pub fn media_container_destroy(container: MediaContainer) -> Nil

MediaContainer.destroy Destroy container and release resources

pub fn media_container_export(
  container: MediaContainer,
  options o: object.JsObject,
  complete cb: fn() -> Nil,
) -> promise.Promise(Result(object.JsObject, object.WechatError))

MediaContainer.export Merge tracks in container and export as video file

pub fn media_container_extract_data_source(
  container: MediaContainer,
  source s: object.JsObject,
  options o: object.JsObject,
  complete cb: fn() -> Nil,
) -> promise.Promise(Result(object.JsObject, object.WechatError))

MediaContainer.extractDataSource Extract and separate tracks from video source

pub fn media_container_remove_track(
  container: MediaContainer,
  track: MediaTrack,
) -> Nil

MediaContainer.removeTrack Remove audio or video track from container

pub fn media_recorder_off(
  recorder: MediaRecorder,
  event e: String,
  callback cb: fn(object.JsObject) -> Nil,
) -> Nil

MediaRecorder.off Cancel listening for recorder events

pub fn media_recorder_on(
  recorder: MediaRecorder,
  event e: String,
  callback cb: fn(object.JsObject) -> Nil,
) -> Nil

MediaRecorder.on Listen for recorder events

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

MediaRecorder.pause Pause recording

pub fn media_recorder_request_frame(
  recorder: MediaRecorder,
) -> object.JsObject

MediaRecorder.requestFrame Request frame

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

MediaRecorder.resume Resume recording

pub fn media_recorder_start(
  recorder: MediaRecorder,
  options o: object.JsObject,
  complete cb: fn() -> Nil,
) -> promise.Promise(Result(object.JsObject, object.WechatError))

MediaRecorder.start Start recording

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

MediaRecorder.stop Stop recording

pub fn open_video_editor(
  src s: String,
  options o: object.JsObject,
  complete cb: fn() -> Nil,
) -> promise.Promise(Result(object.JsObject, object.WechatError))

wx.openVideoEditor Open video editor

pub fn pause_voice() -> Nil

wx.pauseVoice Pause playing voice

pub fn play_voice() -> Nil

wx.playVoice Start playing voice

pub fn preview_image(
  urls u: List(String),
  current c: String,
  complete cb: fn() -> Nil,
) -> promise.Promise(Result(object.JsObject, object.WechatError))

wx.previewImage Preview images within the current page

pub fn preview_media(
  urls u: List(String),
  current c: String,
  show_menu sm: Bool,
  complete cb: fn() -> Nil,
) -> promise.Promise(Result(object.JsObject, object.WechatError))

wx.previewMedia Preview media (image or video)

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

wx.saveImageToPhotosAlbum Save image to system album

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

wx.saveVideoToPhotosAlbum Save video to photos album

pub fn stop_voice() -> Nil

Voice (旧音频API)

wx.stopVoice Stop playing voice

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

VideoDecoder.getFrameData Get next frame of decoded data

pub fn video_decoder_off(
  decoder: VideoDecoder,
  event e: String,
  callback cb: fn(object.JsObject) -> Nil,
) -> Nil

VideoDecoder.off Cancel listener

pub fn video_decoder_on(
  decoder: VideoDecoder,
  event e: String,
  callback cb: fn(object.JsObject) -> Nil,
) -> Nil

VideoDecoder.on Register listener

pub fn video_decoder_remove(decoder: VideoDecoder) -> Nil

VideoDecoder.remove Remove decoder

pub fn video_decoder_seek(
  decoder: VideoDecoder,
  time t: Int,
) -> Nil

VideoDecoder.seek Seek to specific time point

pub fn video_decoder_start(decoder: VideoDecoder) -> Nil

VideoDecoder.start Start decoding

pub fn video_decoder_stop(decoder: VideoDecoder) -> Nil

VideoDecoder.stop Stop decoding

Search Document