ijkplayer时序图

stream_open:
frame_queue_init
packet_queue_init
init_clock
创建read_thread线程
创建video_refresh_thread线程
消息循环–回调函数实现
ui 和播放器核心直接的交互有以下几种方式:
- ui直接调用IjkMediaPlayer的接口
- ui发送消息给消息循环线程,然后调⽤IjkMediaPlayer的接口
- IjkMediaPlayer发消息给消息循环线程,线程调⽤ui的接口
UI发送消息给循环线程,通过c++11中bind实现回调函数:
void MainWind::OnPlayOrPause() {
mp_ = new IjkMediaPlayer();
mp_->ijkmp_create(std::bind(&MainWind::message_loop, this, std::placeholders::_1))
mp_->ijkmp_prepare_async();
}
ijkmp_create: m
本文详细介绍了如何将ijkplayer与UI界面整合,通过消息循环和回调函数实现交互,并阐述了播放器在播放、停止状态间的转换。ijkmp_create函数用于设置消息循环,ijkmp_prepare_async启动线程进入消息处理。此外,还讨论了ijkmp_start、ijkmp_stop等关键函数在状态管理中的作用。
订阅专栏 解锁全文
1062

被折叠的 条评论
为什么被折叠?



