feat(electron): adapts to default audio input/output device changes (#11815)
Enable automatic adoption of new default audio devices upon detection. 1. add `AggregateDeviceManager` to watch for audio device changes, creating & maintaining `AggregateDevice` instances and cleaning up 2. use a workaround of `FastFixedIn` to deal with resampling delay issue (this is low quality and have some artifacts in the resampled audio) fix AF-2536
This commit is contained in:
8
packages/frontend/native/index.d.ts
vendored
8
packages/frontend/native/index.d.ts
vendored
@@ -17,10 +17,11 @@ export declare class ApplicationStateChangedSubscriber {
|
||||
unsubscribe(): void
|
||||
}
|
||||
|
||||
export declare class AudioTapStream {
|
||||
export declare class AudioCaptureSession {
|
||||
stop(): void
|
||||
get sampleRate(): number
|
||||
get channels(): number
|
||||
get actualSampleRate(): number
|
||||
}
|
||||
|
||||
export declare class DocStorage {
|
||||
@@ -75,8 +76,7 @@ export declare class ShareableContent {
|
||||
applications(): Array<TappableApplication>
|
||||
applicationWithProcessId(processId: number): Application | null
|
||||
tappableApplicationWithProcessId(processId: number): TappableApplication | null
|
||||
checkRecordingPermissions(): RecordingPermissions
|
||||
static tapGlobalAudio(excludedProcesses: Array<TappableApplication> | undefined | null, audioStreamCallback: ((err: Error | null, arg: Float32Array) => void)): AudioTapStream
|
||||
static tapGlobalAudio(excludedProcesses: Array<TappableApplication> | undefined | null, audioStreamCallback: ((err: Error | null, arg: Float32Array) => void)): AudioCaptureSession
|
||||
}
|
||||
|
||||
export declare class SqliteConnection {
|
||||
@@ -127,7 +127,7 @@ export declare class TappableApplication {
|
||||
get objectId(): number
|
||||
get icon(): Buffer
|
||||
get isRunning(): boolean
|
||||
tapAudio(audioStreamCallback: ((err: Error | null, arg: Float32Array) => void)): AudioTapStream
|
||||
tapAudio(audioStreamCallback: ((err: Error | null, arg: Float32Array) => void)): AudioCaptureSession
|
||||
}
|
||||
|
||||
export interface Blob {
|
||||
|
||||
Reference in New Issue
Block a user