Android多媒体开发【5】-- Stagefright原来是个皮包公司

通过上文我们已经进入到了StagefrightPlayer中,当满心激动的查看代码时发现 Stagefright其实就是个皮包公司

status_t StagefrightPlayer::setDataSource(
        const char *url, const KeyedVector<String8, String8> *headers) {
    return mPlayer->setDataSource(url, headers);
}
status_t StagefrightPlayer::prepare() {
    return mPlayer->prepare();
}
status_t StagefrightPlayer::start() {
    ALOGV("start");

    return mPlayer->play();
}

status_t StagefrightPlayer::stop() {
    ALOGV("stop");

    return pause();  // what's the difference?
}

status_t StagefrightPlayer::pause() {
    ALOGV("pause");
    return mPlayer->pause();
}

功能几乎都是通过调用 

AwesomePlayer *mPlayer;
成员变量来实现的,看来真正实现播放器功能的原来是  AwesomePlayer。Stagefright只是做了一层浅浅的封装,革命尚未成功,继续跟进吧。

AwesomePlayer 看看这个棒极了的(Awesome)播放器到底有多牛逼。


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值