|
@@ -29,6 +29,7 @@ export interface InitConfigType extends MediaStreamConstraints {
|
|
|
config?: PlatformConfigType;
|
|
|
debug?: boolean;
|
|
|
disbaledAudio?: boolean;
|
|
|
+ systemAudio?: boolean
|
|
|
}
|
|
|
export enum RecorderStatusType {
|
|
|
init = 0,
|
|
@@ -66,6 +67,7 @@ export class BasicSimaqRecorder extends EventEmitter {
|
|
|
private platformConfig: PlatformConfigType;
|
|
|
private chromeMediaSourceId: string | null;
|
|
|
private disbaledAudio = false;
|
|
|
+ private systemAudio = false;
|
|
|
private debug = false;
|
|
|
constructor(arg: InitConfigType) {
|
|
|
super();
|
|
@@ -76,6 +78,8 @@ export class BasicSimaqRecorder extends EventEmitter {
|
|
|
this.uploadUrl = arg.uploadUrl;
|
|
|
this.disbaledAudio = arg.disbaledAudio;
|
|
|
this.debug = arg.debug;
|
|
|
+ this.systemAudio = arg.systemAudio;
|
|
|
+ this.setSystemAudio();
|
|
|
this.initParams(arg);
|
|
|
videoConstraints.subscribe((value) => {
|
|
|
this.debug && console.log('subscribe', value);
|
|
@@ -116,6 +120,15 @@ export class BasicSimaqRecorder extends EventEmitter {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
+ private setSystemAudio() {
|
|
|
+ if (this.systemAudio) {
|
|
|
+ this.displayMediaStreamConstraints.systemAudio = 'include'
|
|
|
+ this.displayMediaStreamConstraints.audio = true;
|
|
|
+ } else {
|
|
|
+ this.displayMediaStreamConstraints.systemAudio = 'exclude'
|
|
|
+ this.displayMediaStreamConstraints.audio = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
public async startRecord(): Promise<void> {
|
|
|
try {
|