9.Helios_(多媒体List播放器)MediaListPlayerInterface->MediaListP
2017-03-21 10:59:13 0 举报
Helios是一个多媒体List播放器,它提供了一个名为MediaListPlayerInterface的接口。这个接口允许用户通过MediaListP对象来管理和控制媒体列表。MediaListP是MediaListPlayerInterface的一个实现,它负责处理媒体列表的创建、播放、暂停等操作。通过使用Helios和MediaListPlayerInterface,用户可以方便地在应用程序中集成多媒体播放功能,为用户提供丰富的视听体验。
作者其他创作
大纲/内容
mPlayer.setTime
MediaListPlayer
use
stop
isPlaying
...
setTime
treateAsSingleFile
对外部的回调
list null?
setIdAndPlay
return playIndex
getCurrentItem:MediaItem
MediaListPlayerInterface
VideoPlayerEvnetHandler
getLength
return curList.get(playIndex)
VideoPlayerEvnetHandler与其他外部回调的区别尚不明确,得根据业务场景来分析
videoEventHandlers.sendEmptyMessage
simulateMessage
resume
mPlayer.resume
isPaused
playUrlInternal
disableSeekAndPause
return curList
getPlayList
调用mPlayer方法
mPlayer.stop
playMediaList
此处包含的业务场景:1.当前播的是广告时,提示prepared阶段2.当前媒体播放完成/错误自动播放下一媒体3.当前播的是广告,对广告回调进行调用4.当前播的是非广告,对外部回调进行调用
N
playNext
mPlayer.getLength
curList.treateAsSingleFile
allowSeek/allowPause true
bundle null?
allowPause
mPlayer.setIdAndPlay
getCurrentIndex
mPlayer.isPlaying
Y
wapperMediaEventCallback
pause
videoEventHandlers.sendMessage
videoEventHandler EVENT_MEDIA_BUFFERING_START
playIndex上一个
enableSeekAndPause
mPlayer.isSeekable
isSeekable
playIndex下一个
wapperedMediaEventCallback
外部设置的广告回调
simulateMessage(EVENT_MEDIA_PLAY_ERROR)
playIndex
allowSeek/allowPause false
单一播放器
mPlayer.setDataSourceAndPlay
mPlayer.destroy 回调置空
setAdMediaEventCallback
WeakHandler
设计思想:场景:在handler中会调用mPlayer的方法方案:添加软引用,播控内部mPlayer回收时,handler中持有的也会被回收,使其不可用
playIndex选择
设置到单一播放器的回调
mPlayer.pause
adMediaEventCallback
seekTime时候所有Media的时长加起来 = 总时长,故seek时间也是以所有影片作为单位考量
destroy
throw UnsupportedOperationException
playPrevious
多媒体List的播放器内部进行广告/连续播放/回调/对多媒体list作为单一文件处理等业务
mPlayer.isPaused
createPlayer
curList.totalDuration
广告事件回调设置
MediaPlayerInterface
对多个媒体List当做单一文件处理
取List中第一个媒体进行播放
setDataSourceAndPlay
0 条评论
下一页