You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Media Streams API按名称停止媒体流的相关疑问

结论

你的判断完全正确:按名称停止Media Stream的能力仅适用于TwiML场景,REST API调用停止流时必须使用Media Stream SID,不支持直接传入名称定位目标流。

具体说明
  • TwiML是Twilio侧执行的通话控制指令,运行时天然持有当前通话下所有活跃Media Stream的上下文映射,因此可以直接通过你创建流时自定义的name字段匹配到对应流实例执行停止操作,无需提前获取流的SID。
    TwiML按名称停流的示例代码如下:
    <Stop>
       <Stream name="my_first_stream" />
    </Stop>
    
  • Media Streams REST API是无状态的资源操作接口,服务端不会做名称到流实例的匹配检索,所有针对单个流的增删改查操作,都必须通过流的唯一资源标识(即MZ开头的Media Stream SID)定位目标资源,这也是官方REST API示例全部使用SID传参的原因。
    官方给出的REST API停流示例代码如下:
    client.calls('CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
          .streams('MZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
          .update({status: 'stopped'})
          .then(stream => console.log(stream.name));
    
  • 如果需要在REST API场景下实现按自定义名称停流的效果,你需要在创建Media Stream拿到返回结果时,自行将自定义的流名称和对应的流SID做映射存储,后续需要停流时先通过名称查询到对应SID,再调用停流接口即可。

内容的提问来源于stack exchange,提问作者Alan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 22:03:29