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_media_recorder(
component c: object.JsObject,
options o: object.JsObject,
) -> MediaRecorder
wx.createMediaRecorder
Create a media recorder to record WebGL surfaces
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 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 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