playback.stop()
停止接受新音频,并按所选模式排空或立即关闭。调用本身只等待状态转换,不等待音频排空。
Syntax
await host.playback.stop(output, mode?);
Parameters
| 参数 | 类型 | 说明 |
|---|---|---|
output |
audio-output handle | 要关闭的输出 |
mode |
"drain" | "immediate" |
默认 drain |
drain 立即转为不可写的 draining 状态,再播放完已接受数据;immediate 丢弃缓冲并立即停止。draining 期间再次 drain 是 no-op,传 immediate 则升级为立即终止;已经终止后任一模式都是 no-op。
Return value
无。方法返回表示状态转换完成,不表示 drain 已排空。若应用声明了 playback.ended,终止时可用该事件清理本地状态。
Examples
await host.playback.stop(stream.output, userPressedEmergencyStop ? 'immediate' : 'drain');
Errors
特有错误:stale-handle、resource-denied。同一句柄按上述状态机重复停止不报错;转入 draining 后的 write 返回 stale-handle。
Requirements
- 授权:
handle-derived,不进入 manifest capability 列表 - 用户激活:不需要
- 信任档位:yellow