# WMPFMusicController

需 WMPF >= 2.1.0 支持,使用前建议阅读注意事项

2.2.0 开始停止维护,建议使用 WMPFMusicApi 系列接口

# 1. addMusicPlayStatusListener

注册 WMPF 背景音频播放状态变化事件回调。

# 调用参数

参数 类型 说明 最低版本
listener WMPFMusicStatusChangedListener 背景音频播放状态变化事件回调

# 返回参数

# 2. removeMusicPlayStatusListener

取消注册 WMPF 背景音频播放状态变化事件回调。

# 调用参数

参数 类型 说明 最低版本
listener WMPFMusicStatusChangedListener 要取消的背景音频播放状态变化事件回调

# 返回参数

# 3. play

开始播放小程序背景音频。如果当前没有需要播放背景音频的小程序,该函数将没有作用。

该函数只会在暂停播放小程序背景音频后恢复播放,相当于 resume。

# 4. pause

暂停播放小程序背景音频。如果当前没有正在播放背景音频的小程序,该函数将没有作用。

# 5. seek

设置小程序背景音频播放进度。如果当前没有正在播放背景音频的小程序,该函数将没有作用。

# 调用参数

参数 类型 说明
position int 播放进度, 范围 [0, duration)

duration 可以通过 WMPFMusicController.getPlayingMetadta() 获取。

# 6. previous

要求当前正在播放背景音频的小程序切换上一首。

# 7. stop

停止播放小程序背景音频。如果当前没有正在播放背景音频的小程序,该函数将没有作用。

# 8. playOrPause

切换小程序背景音频播放状态。

  • 如果当前有正在播放背景音频的小程序,该函数将暂停播放。
  • 如果当前有小程序的背景音频被暂停,该函数将恢复播放。

# 9. next

要求当前正在播放背景音频的小程序切换下一首。

# 10. getPlayingMetadata

获取小程序背景音频播放信息。

# 返回参数

类型 说明
WMPFMusicMetadata 音频信息,具体字段参见 WMPFMusicApi.getPlayingMetadata

# 11. isPlaying

获取当前是否正在播放小程序背景音频。

# 返回参数

类型 说明
boolean 是否正在播放小程序背景音频

# 12. release

停止监听小程序背景音频变化事件和控制小程序背景音频。

该函数调用后 WMPFMusicController 对象将失效。

# 13. 示例代码

val musicController = WMPFMusicController() // 该对象应当只创建一个
musicController.addMusicPlayStatusListener(object : WMPFMusicStatusChangedListener {
    override fun onChanged(newStatus: WMPFMusicPlayStatus) {
        // 在这里监听 newStatus
    }
})

musicController.play()
musicController.pause()
musicController.seek(position)
musicController.previous()
musicController.stop()
musicController.playOrPause()
musicController.next()
val isPlaying: Boolean = musicController.isPlaying()
val metadata = musicController.getPlayingMetadata()

musicController.release()