安卓N版本NuPlayer向服务端发送RTSP请求

本文深入解析了安卓N版本中ARTSPConnection的sendRequest方法及消息处理流程,详细介绍了如何发送请求并接收响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  贴出安卓N版本ARTSPConnection::sendRequest原文:
  

==>
void ARTSPConnection::sendRequest(
        const char *request, const sp<AMessage> &reply) {
    //新建消息msg,消息名为kWhatSendRequest,消息的处理者为this,也即ARTSPConnection
    //将要发送的消息添加到"request"字段
    //将应答异步处理消息的引用添加到"reply"字段
    sp<AMessage> msg = new AMessage(kWhatSendRequest, this);
    msg->setString("request", request);
    msg->setMessage("reply", reply);
    msg->post();
} 

==>
void ARTSPConnection::onMessageReceived(const sp<AMessage> &msg) {
    switch (msg->what()) {
        case kWhatConnect:
            onConnect(msg);
            break;

        case kWhatDisconnect:
            onDisconnect(msg);
            break;

        case kWhatCompleteConnection:
            onCompleteConnection(msg);
            break;

        case kWhatSendRequest:
            //对消息名为kWhatSendRequest的处理
            //调用onSendRequest(msg)完成处理的细节
            //onSendRequest下一文介绍
            onSendRequest(msg);
            break;

        case kWhatReceiveResponse:
            onReceiveResponse();
            break;

        case kWhatObserveBinaryData:
        {
            CHECK(msg->findMessage("reply", &mObserveBinaryMessage));
            break;
        }

        default:
            TRESPASS();
            break;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值