Skip to content

录制音源改为设备音频(麦克风降级为可选旁白轨) #17

Description

@sunimp

背景

当前录制的音源是 Mac 麦克风(RecordingServiceAVAudioRecorder)。但本工具是投屏录制工具,录制意义是留存设备屏幕上发生了什么。有意义的音源应是设备本身的声音(App 音效、视频、通话),而非麦克风采到的房间环境音。

更糟:设备音频正通过 Mac 扬声器外放,麦克风又把外放录回去 → 回声 + 环境噪音,对回看测试无价值。

现状:设备音频已在管线中,仅用于播放未落盘

  • iOS(IOSDeviceSource.handleAudioSampleBuffer):拿到设备音频 CMSampleBuffer,现仅喂 AudioPlayer 播放。CMSampleBufferAVAssetWriter 标准输入,接 writer 即可落盘。
  • Android(ScrcpyDeviceSource opusDecoder.onDecodedAudio):拿到解码后 PCM,现仅推播放器。同一路 PCM 分流做 AAC 编码即可写文件。

方案(已与维护者确认)

待确认 / 待验证

  1. iOS CMSampleBuffer 音频是否始终可得(ReplayKit/CoreMediaIO 采集路径与授权),需实测。
  2. 多设备同时录:每设备一条音轨(契合现有 iOS-xxx/Android-xxx/ 目录),还是混一路。
  3. 回放端多音轨/音轨选择的 UI 与 ReplayClock 适配。

相关

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions