Current section

Files

Jump to
weapp src wechat background_audio.gleam
Raw

src/wechat/background_audio.gleam

//// background_audio module provides background audio API bindings
//// details in [wechat document](https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/)
////
import wechat/object.{type JsObject, type WechatResultCallback}
/// `wx.getBackgroundAudioManager`
/// Get global unique background audio manager
///
@external(javascript, "../wechat_media_ffi.mjs", "getBackgroundAudioManager")
pub fn get_background_audio_manager() -> JsObject
/// `BackgroundAudioManager.setSrc`
/// Set audio resource URL
///
@external(javascript, "../wechat_media_ffi.mjs", "setBackgroundAudioManagerSrc")
pub fn set_background_audio_manager_src(bam: JsObject, src s: String) -> Nil
/// `BackgroundAudioManager.setStartTime`
/// Set playback start position in seconds
///
@external(javascript, "../wechat_media_ffi.mjs", "setBackgroundAudioManagerStartTime")
pub fn set_background_audio_manager_start_time(
bam: JsObject,
start_time st: Float,
) -> Nil
/// `BackgroundAudioManager.setTitle`
/// Set audio title
///
@external(javascript, "../wechat_media_ffi.mjs", "setBackgroundAudioManagerTitle")
pub fn set_background_audio_manager_title(bam: JsObject, title t: String) -> Nil
/// `BackgroundAudioManager.setEpname`
/// Set album name
///
@external(javascript, "../wechat_media_ffi.mjs", "setBackgroundAudioManagerEpname")
pub fn set_background_audio_manager_epname(
bam: JsObject,
epname e: String,
) -> Nil
/// `BackgroundAudioManager.setSinger`
/// Set singer name
///
@external(javascript, "../wechat_media_ffi.mjs", "setBackgroundAudioManagerSinger")
pub fn set_background_audio_manager_singer(
bam: JsObject,
singer s: String,
) -> Nil
/// `BackgroundAudioManager.setCoverImgUrl`
/// Set cover image URL
///
@external(javascript, "../wechat_media_ffi.mjs", "setBackgroundAudioManagerCoverImgUrl")
pub fn set_background_audio_manager_cover_img_url(
bam: JsObject,
cover_img_url c: String,
) -> Nil
/// `BackgroundAudioManager.setWebUrl`
/// Set web page URL
///
@external(javascript, "../wechat_media_ffi.mjs", "setBackgroundAudioManagerWebUrl")
pub fn set_background_audio_manager_web_url(
bam: JsObject,
web_url w: String,
) -> Nil
/// `BackgroundAudioManager.setProtocol`
/// Set audio protocol
///
@external(javascript, "../wechat_media_ffi.mjs", "setBackgroundAudioManagerProtocol")
pub fn set_background_audio_manager_protocol(
bam: JsObject,
protocol p: String,
) -> Nil
/// `BackgroundAudioManager.getDuration`
/// Get current audio length in seconds
///
@external(javascript, "../wechat_media_ffi.mjs", "getBackgroundAudioManagerDuration")
pub fn get_background_audio_manager_duration(bam: JsObject) -> Float
/// `BackgroundAudioManager.getCurrentTime`
/// Get current playback position in seconds
///
@external(javascript, "../wechat_media_ffi.mjs", "getBackgroundAudioManagerCurrentTime")
pub fn get_background_audio_manager_current_time(bam: JsObject) -> Float
/// `BackgroundAudioManager.getPaused`
/// Get whether currently paused
///
@external(javascript, "../wechat_media_ffi.mjs", "getBackgroundAudioManagerPaused")
pub fn get_background_audio_manager_paused(bam: JsObject) -> Bool
/// `BackgroundAudioManager.getBuffered`
/// Get buffered time point in seconds
///
@external(javascript, "../wechat_media_ffi.mjs", "getBackgroundAudioManagerBuffered")
pub fn get_background_audio_manager_buffered(bam: JsObject) -> Float
/// `BackgroundAudioManager.play`
/// Play audio
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerPlay")
pub fn background_audio_manager_play(bam: JsObject) -> Nil
/// `BackgroundAudioManager.pause`
/// Pause audio
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerPause")
pub fn background_audio_manager_pause(bam: JsObject) -> Nil
/// `BackgroundAudioManager.stop`
/// Stop audio
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerStop")
pub fn background_audio_manager_stop(bam: JsObject) -> Nil
/// `BackgroundAudioManager.seek`
/// Jump to the specified position
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerSeek")
pub fn background_audio_manager_seek(bam: JsObject, position p: Float) -> Nil
/// `BackgroundAudioManager.onCanplay`
/// Listen for canplay event
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerOnCanplay")
pub fn background_audio_manager_on_canplay(
bam: JsObject,
callback cb: WechatResultCallback,
) -> Nil
/// `BackgroundAudioManager.onEnded`
/// Listen for ended event
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerOnEnded")
pub fn background_audio_manager_on_ended(
bam: JsObject,
callback cb: WechatResultCallback,
) -> Nil
/// `BackgroundAudioManager.onError`
/// Listen for error event
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerOnError")
pub fn background_audio_manager_on_error(
bam: JsObject,
callback cb: WechatResultCallback,
) -> Nil
/// `BackgroundAudioManager.onNext`
/// Listen for next event
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerOnNext")
pub fn background_audio_manager_on_next(
bam: JsObject,
callback cb: WechatResultCallback,
) -> Nil
/// `BackgroundAudioManager.onPause`
/// Listen for pause event
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerOnPause")
pub fn background_audio_manager_on_pause(
bam: JsObject,
callback cb: WechatResultCallback,
) -> Nil
/// `BackgroundAudioManager.onPlay`
/// Listen for play event
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerOnPlay")
pub fn background_audio_manager_on_play(
bam: JsObject,
callback cb: WechatResultCallback,
) -> Nil
/// `BackgroundAudioManager.onPrev`
/// Listen for prev event
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerOnPrev")
pub fn background_audio_manager_on_prev(
bam: JsObject,
callback cb: WechatResultCallback,
) -> Nil
/// `BackgroundAudioManager.onSeeked`
/// Listen for seeked event
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerOnSeeked")
pub fn background_audio_manager_on_seeked(
bam: JsObject,
callback cb: WechatResultCallback,
) -> Nil
/// `BackgroundAudioManager.onSeeking`
/// Listen for seeking event
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerOnSeeking")
pub fn background_audio_manager_on_seeking(
bam: JsObject,
callback cb: WechatResultCallback,
) -> Nil
/// `BackgroundAudioManager.onStop`
/// Listen for stop event
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerOnStop")
pub fn background_audio_manager_on_stop(
bam: JsObject,
callback cb: WechatResultCallback,
) -> Nil
/// `BackgroundAudioManager.onTimeUpdate`
/// Listen for time update event
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerOnTimeUpdate")
pub fn background_audio_manager_on_time_update(
bam: JsObject,
callback cb: WechatResultCallback,
) -> Nil
/// `BackgroundAudioManager.onWaiting`
/// Listen for waiting event
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerOnWaiting")
pub fn background_audio_manager_on_waiting(
bam: JsObject,
callback cb: WechatResultCallback,
) -> Nil
/// `BackgroundAudioManager.offCanplay`
/// Cancel listening for canplay event
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerOffCanplay")
pub fn background_audio_manager_off_canplay(
bam: JsObject,
callback cb: WechatResultCallback,
) -> Nil
/// `BackgroundAudioManager.offEnded`
/// Cancel listening for ended event
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerOffEnded")
pub fn background_audio_manager_off_ended(
bam: JsObject,
callback cb: WechatResultCallback,
) -> Nil
/// `BackgroundAudioManager.offError`
/// Cancel listening for error event
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerOffError")
pub fn background_audio_manager_off_error(
bam: JsObject,
callback cb: WechatResultCallback,
) -> Nil
/// `BackgroundAudioManager.offNext`
/// Cancel listening for next event
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerOffNext")
pub fn background_audio_manager_off_next(
bam: JsObject,
callback cb: WechatResultCallback,
) -> Nil
/// `BackgroundAudioManager.offPause`
/// Cancel listening for pause event
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerOffPause")
pub fn background_audio_manager_off_pause(
bam: JsObject,
callback cb: WechatResultCallback,
) -> Nil
/// `BackgroundAudioManager.offPlay`
/// Cancel listening for play event
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerOffPlay")
pub fn background_audio_manager_off_play(
bam: JsObject,
callback cb: WechatResultCallback,
) -> Nil
/// `BackgroundAudioManager.offPrev`
/// Cancel listening for prev event
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerOffPrev")
pub fn background_audio_manager_off_prev(
bam: JsObject,
callback cb: WechatResultCallback,
) -> Nil
/// `BackgroundAudioManager.offSeeked`
/// Cancel listening for seeked event
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerOffSeeked")
pub fn background_audio_manager_off_seeked(
bam: JsObject,
callback cb: WechatResultCallback,
) -> Nil
/// `BackgroundAudioManager.offSeeking`
/// Cancel listening for seeking event
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerOffSeeking")
pub fn background_audio_manager_off_seeking(
bam: JsObject,
callback cb: WechatResultCallback,
) -> Nil
/// `BackgroundAudioManager.offStop`
/// Cancel listening for stop event
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerOffStop")
pub fn background_audio_manager_off_stop(
bam: JsObject,
callback cb: WechatResultCallback,
) -> Nil
/// `BackgroundAudioManager.offTimeUpdate`
/// Cancel listening for time update event
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerOffTimeUpdate")
pub fn background_audio_manager_off_time_update(
bam: JsObject,
callback cb: WechatResultCallback,
) -> Nil
/// `BackgroundAudioManager.offWaiting`
/// Cancel listening for waiting event
///
@external(javascript, "../wechat_media_ffi.mjs", "backgroundAudioManagerOffWaiting")
pub fn background_audio_manager_off_waiting(
bam: JsObject,
callback cb: WechatResultCallback,
) -> Nil