No puedo implementar recordrtc. Tomé el siguiente código del sitio:
https://medium.com/@coolchoudharyvijay/use-mic-in-angular-to-record-audio-simplified-1374d89718d3
Modifiqué un poco el código porque estoy usando la última versión de TypeScript y tuve que inicializar y agregar el tipo a las variables. Sospecho que no instalé correctamente recordrtc.
código
import { Injectable } from '@angular/core'; import { DomSanitizer } from '@angular/platform-browser'; import * as RecordRTC from 'recordrtc'; @Injectable({ providedIn: 'root' }) export class RecordNameService { title = 'micRecorder'; //Lets declare Record OBJ record!: RecordRTC.StereoAudioRecorder; //Will use this flag for toggeling recording recording = false; //URL of Blob url: string; error: string; constructor(private domSanitizer: DomSanitizer) { this.url = ""; this.error = ""; } sanitize(url: string) { return this.domSanitizer.bypassSecurityTrustUrl(url); } /** * Start recording. */ initiateRecording() { this.recording = true; let mediaConstraints = { video: false, audio: true }; navigator.mediaDevices .getUserMedia(mediaConstraints) .then(this.successCallback.bind(this), this.errorCallback.bind(this)); } /** * Will be called automatically. */ successCallback(stream: MediaStream) { var options = { mimeType: "audio/wav", numberOfAudioChannels: 1, sampleRate: 16000, }; //Start Actuall Recording this.record = new RecordRTC.StereoAudioRecorder(stream, options); this.record.record(); } /** * Stop recording. */ stopRecording() { this.recording = false; this.record.stop(this.processRecording.bind(this)); } /** * processRecording Do what ever you want with blob * @param {any} blob Blog */ processRecording(blob: any) { this.url = URL.createObjectURL(blob); console.log("blob", blob); console.log("url", this.url); } /** * Process Error. */ errorCallback(error: any) { this.error = 'Can not play audio in your browser'; } ngOnInit() { } }En el código de Visual Studio obtengo:
La propiedad 'registro' no existe en el tipo 'StereoAudioRecorder'
en la línea de código:
this.record.record();y
this.record.stop(this.processRecording.bind(this));¿Cual puede ser el problema?. ¿Alguien puede intentar ejecutar mi código?