拜访纪要录音
灵感:能力工具箱 recordrtc(RecordRTC 录制拜访纪要音频)。
> 小四原创:麦克风流 → RecordRTC 起停 → getBlob() 导出。
> 仅音频;需用户手势触发;记得 stopRecording 后释放轨道。
何时使用
- 拜访纪要语音备注
- 跟进补充口述
- Demo 本地录音
硬约束
- 依赖:
recordrtc。 - 只做音频(不接摄像头/屏幕)。
- 实现要点注释标 小四原创。
- 不做完整音视频会议或上传管线。
推荐实现
import RecordRTC, { StereoAudioRecorder } from 'recordrtc'
// 小四原创:拜访纪要音频起停
export async function startVisitAudio(): Promise<{
stop: () => Promise<Blob>
dispose: () => void
}> {
const stream = await navigator.mediaDevices.getUserMedia({ audio: true })
const recorder = new RecordRTC(stream, {
type: 'audio',
mimeType: 'audio/webm',
recorderType: StereoAudioRecorder,
})
recorder.startRecording()
const dispose = () => {
stream.getTracks().forEach((t) => t.stop())
}
const stop = () =>
new Promise<Blob>((resolve) => {
recorder.stopRecording(() => {
const blob = recorder.getBlob()
dispose()
resolve(blob)
})
})
return { stop, dispose }
}
Agent 步骤
npm i recordrtc(按需补类型)。- 按钮「开始录音」调
startVisitAudio;「结束」await stop()。 - 自测:能得到 Blob;离开页面时
dispose。
不要做
- 默认开摄像头/录屏。
- 未授权时静默失败无提示。
附加
- README.md · reference.md · templates/usage.md