SuperAPI AI 工具集

audio-streaming

智能体与模型

查看项目

更新于 11-08 17:06

技能介绍

用途

Audio Streaming(Android)是 Camera Stream 的实验性扩展,不是一项独立能力。它的作用是在 Android 应用中通过相机流接收与视频同步的 PCM 音频帧。使用时应先按照 camera-streaming 技能完成会话和 Camera 的初始化设置,再补充音频配置与采集逻辑。

主要能力

  • 在 StreamConfiguration 中设置非空的音频编解码器,例如采样率 16000 Hz、单声道的 PCM。
  • 支持的采样率为 16000、44100、48000 Hz;下游处理需使用相同的采样率和声道数。
  • 通过 camera.stream.audioStream 收集音频帧,帧内含 buffer 与 presentationTimeUs,可用于保持顺序或与视频对齐。
  • 音频与 Stream 共享状态和错误;麦克风权限被拒绝会表现为流权限失败,不另外建立独立的音频生命周期。

使用方式

  1. 权限准备:应用需在 Wearables Developer Center 获得 Camera 与 Audio Streaming 批准,并同时声明 Permission.CAMERA 与 Permission.MICROPHONE。应先检查权限,并且仅在用户操作后发起权限请求。
  2. 配置音频:在 StreamConfiguration 中设置 audioCodec 为 PCM,指定 sampleRate 与 numberOfChannels,同时可设置 videoQuality 与 frameRate,然后通过 Camera Streaming 流程把该配置传给 addCamera。
  3. 启动采集:在启动 Stream 之前收集音频,使用 lifecycleScope 在 Dispatchers.IO 上启动协程,逐帧读取 camera.stream.audioStream 并消费 PCM;随后调用 camera.stream.start(),失败时展示错误描述。
  4. 线程注意:PCM 处理应在主线程之外进行,因为收集过慢会导致丢帧。
  5. 清理:在调用 camera.stop() 之前,先取消音频及其他 Stream 收集器。停止 Camera 会级联停止其 Stream,且实例无法重启。

适用场景

适用于需要在 Android 端配合 Meta Wearables 设备,在开发与 beta 测试阶段同时获取视频与同步音频流的应用场景,例如需要对齐音视频时间戳的采集与调试。

限制

  • Audio Streaming 目前为实验性能力,可用于开发与 beta 测试,但尚不能发布到生产发布渠道。
  • MockDeviceKit 可以协商启用音频的 Camera 流,但不提供公开的、确定性的音频帧注入 API,不应假设模拟 PCM 帧会到达。
  • 音频不单独建模生命周期,其状态与错误依附于 Stream。