ffplayer——FFMPlayer::start() FFMPlayer::stop()

本文详细探讨了FFMPlayer的使用,重点在于`FFMPlayer::start()`和`FFMPlayer::stop()`两个关键函数。通过实例解析,阐述了如何启动和停止FFMPlayer的播放操作,帮助开发者更好地理解和掌握FFMPlayer的控制流程。
摘要由CSDN通过智能技术生成
status_t FFMPlayer::start()
{
    int status = getCurrentStatus();
    if (status == PLAYER_PREPARED) {
        if (mMessageQ.get() != NULL) {
            enqueueMessage(new MessageStart(NULL)); //创建类型为CMD_START的meg,然后将该meg放入mQueue
            return OK;
        }
    } else { //if(status == PLAYER_PAUSED)
        if(!isNetworkProtocol() && isPlayerEndOfStream() && checkConsumeAll()) {
            ALOGD("resume: end of stream seekto 0");
            modifyFlags(AT_EOS, CLEAR);
            setPlayerEndOfStream(false);
            doSeekto(0, true);
        }
        recordResumeTime();
        return resume();//创建类型为CMD_RESUME的meg,然后将该meg放入mQueue
    }
    return UNKNOWN_ERROR;
}
MessageStart(complete_cb cb):RkMessage(CMD_START,cb) {};
RkMessage(int t,complete_cb cb,void* userdata=0):mType(t),mCb(cb),mUserData(userdata),mWhenUs(0) {}

status_t FFMPlayer::doStart()
{
    if (getCurrentStatus() == PLAYER_PREPARED) {
        setCurrentStatus(PLAY
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值