Red de conocimiento informático - Conocimiento informático - Si los monitores de miniprograma tienen la función de grabación

Si los monitores de miniprograma tienen la función de grabación

El monitoreo de miniprogramas puede tener una función de grabación. Esto requiere que compilemos el software de acuerdo con nuestros propios requisitos de grabación para lograr el propósito de grabar.

Información adicional:

El código es el siguiente:

datos datos

datos: {

playerState : png

Iniciar grabación

tape() {

if ( this.data.playerState == 0) { //igual a 0 indica la función de grabación

/La grabación está en progreso, haga clic en él para finalizar la grabación, el ícono también debe ser el ícono de reproducción y la función se cambia a reproducir

if (this.setData({

src: '/assets /imgs/voiceEnd.png',

beginAndEnd: "Finalizar grabación de voz",

voiceType: true

})

wx .showToast({

título: "Grabando...

icono: 'ninguno',

duración: 60000

})

opciones constantes = {

duración: 60000, //duración de la grabación

sampleRate: 44100, / /tasa de muestreo<

numberOfChannels: 1, //Número de canales a grabar

EencodeBitRate: 192000, //Velocidad de bits de codificación, los valores válidos se muestran en la siguiente tabla

formato: wav', //Formato de audio

frameSize: 50 //Especifique el tamaño del fotograma (kilobytes). Si se pasa frameSize, el contenido del archivo grabado se llamará después. cada grabación del tamaño de fotograma especificado. Sin embargo, si no se especifica frameSize, no se llamará. Solo admite formato mp3 data.interval = setInterval() =gt { //Limitar la grabación a 60 segundos. >num

if (num gt; 59 ) { //llamar al método para detener la grabación a los 60

this.end()

}

}, 1000)

}

} else { //no esperes a que se reproduzca 0, que es 1

if ( this. data.voiceType) {

this.setData ({

voiceType: false,

src: '/assets/imgs/player.png',

beginAndEnd: "Reproducir grabación"

})

innerAudioContext.stop() // Detener. La reproducción del audio nuevamente después de detenerse comenzará desde el principio.

} else {

this.setData({

voiceType: true,

src: '/assets/imgs/stop. png',

beginAndEnd: "Detener reproducción"

})// Enlace de datos para reproducir audio directamente, solo se admiten rutas absolutas.

innerAudioContext.src = this.data.voice

innerAudioContext.play() //reproducir

innerAudioContext.onEnded(() =gt; { // Escuche el audio reproduciéndose naturalmente hasta el final del evento

innerAudioContext.stop() //stop.

this.setData({

voiceType: false,

src: '/assets/imgs/player.png',

beginAndEnd: "Reproducir grabación"

})

})

}}

},

end() {

clearInterval(this.data.interval) //Borrar temporizador

wx.hideToast() //Ocultar el icono normal de grabación

wx.showToast({

título: 'Grabación finalizada.

icon: ' none',

duración: 2000

})

this.setData({

beginAndEnd: 'Reproduciendo voz' ,

p>

playerState: 1,

voiceType: false

})

var that = this

// Monitorear evento de finalización de grabación

wx.getRecorderManager().onStop(res =gt; {

console.log(res)

// Llama al evento personalizado para cargar audio y devolver la ruta del audio

const {

uploadRecord } = require('.../.../...//p/ 71f2e94c3334

Fuente: Jianshu

Copyright. Para reimpresiones comerciales, comuníquese con el autor para obtener autorización. Para reimpresiones no comerciales, indique la fuente.