AI Audio Recording On-App AI
Feature Introduction
-
The AI audio recording follows this process: audio collection, audio AI processing, and audio packaging.
-
AI audio recording primarily depends on the following 5 key capabilities:
-
Obtain the Globally Unique Recorder Manager
Developers can use the getRecorderManager API to obtain the globally unique recorder manager. -
Start Recording
Developers can use the RecorderManager.start API to begin recording. -
Pause Recording
Developers can use the RecorderManager.pause API to pause recording. -
Resume Recording
Developers can use the RecorderManager.resume API to resume recording. -
Stop Recording
Developers can use the RecorderManager.stop API to stop recording.
Interaction Flow
sequenceDiagram
participant User
participant Panel
participant RecorderManager
participant Audio Engine
rect rgb(200, 230, 255)
Note over User, RecorderManager: Initialization Phase
User ->> Panel: 1. Request recording feature
Panel ->> RecorderManager: 2. getRecorderManager()
RecorderManager -->> Panel: 3. Return global manager instance
end
rect rgb(200, 255, 225)
Note over User, Audio Engine: Recording Control Phase
User ->> RecorderManager: 4. start()
RecorderManager ->> Audio Engine: 5. Activate recording device
Note right of Audio Engine: Enable AGC (Automatic Gain Control), Enable VAD (Voice Activity Detection)
par Real-Time Processing
Audio Engine ->> Audio Engine: 6. AGC dynamically adjusts volume
Audio Engine ->> Audio Engine: 7. VAD detects speech segments
Audio Engine ->> RecorderManager: 8. Real-time callback of volume data
RecorderManager ->> Panel: 9. Update UI waveform chart
end
alt User pauses
User ->> RecorderManager: 10. pause()
RecorderManager ->> Audio Engine: 11. Pause input stream
Audio Engine -->> RecorderManager: 12. Confirm pause
else User resumes
User ->> RecorderManager: 13. resume()
RecorderManager ->> Audio Engine: 14. Resume input stream
Audio Engine -->> RecorderManager: 15. Confirm resume
end
end
rect rgb(255, 225, 200)
Note over User, RecorderManager: End Recording Phase
User ->> RecorderManager: 16. stop()
RecorderManager ->> Audio Engine: 17. Stop recording
Audio Engine ->> Audio Engine: 18. Generate final audio file
Note right of Audio Engine: Supported formats: MP3, G.711A, G.711U, nOpus, AAC, mSBC
Audio Engine -->> RecorderManager: 19. Return file path
RecorderManager ->> User: 20. Display recording complete
end