Componente de Grabadora de Voz

¡Así! Asegúrate de que estás usando la URL que te di. :+1:

5 Me gusta

Aquí están mis resultados antes y después:

(Tenga en cuenta también que el único reproductor de .mp3 incrustado que no muestra la duración del clip es el grabado en Windows, tanto antes como después).

ANTES:

DESPUÉS:

¡Avísame si quieres que haga más pruebas!

2 Me gusta

Me funciona en iPad y iPhone, también en DiscourseHub. La duración del clip aparece al reproducirlo.

3 Me gusta

¡Gracias por tus comentarios, Jakke!

También, gracias a @denvergeeks, he corregido dos problemas y él confirmó que todo ahora funciona perfectamente.

Voy a hacer un PR pronto. :+1:

5 Me gusta

Hice el PR :+1:

Posibles características para otros PRs:

  • Añadir soporte para chat
  • Añadir soporte para pausa/reanudar
10 Me gusta

Qué genialidad

3 Me gusta

Aquí hay una idea loca: ¿un botón de transcripción de IA para archivos de audio .mp3 subidos en el editor? De esa manera, un usuario podría (ahora) grabar una publicación en el editor, y también hacerla legible en texto y buscable.

¿Qué se necesitaría para incluir la capacidad de OpenAI/Whisper?

O, en las opciones desplegables de IA que aparecen al seleccionar el archivo en el editor…

…podría incluir una opción de Transcribir texto

8 Me gusta

¡Esa sería una característica interesante y útil! :+1:

Verificaré la viabilidad otro día.

8 Me gusta

¡Muy apreciado en este!

3 Me gusta

Si se implementa en Chat, la transcripción automática en línea también podría incluir traducciones.

5 Me gusta

Actualicé este componente en el sistema.
https://github.com/paviliondev/discourse-voice-recorder

Probé en Firefox/Safari/Chrome en Mac y en iPhone.
Muestra esto, no graba.
¿Alguien podría confirmarlo? Gracias…

2 Me gusta

¿Puedes revisar la consola del navegador si ves errores?

En este punto, significa que algo está bloqueando la carga del script de la biblioteca.

3 Me gusta

Acabo de instalar la TC desde el repositorio de paviliondev, tal como se indica arriba.

Todo funciona en mi instancia de Discourse. Aquí hay un video…

(Y no aparecen errores en la consola en ningún paso de la creación/carga/reproducción).

4 Me gusta

este es discourse 3.2.1 alojado en communiteq
load-script.js:43 Se denegó la carga del script ‘https://www.mydiscoursesite.com/uploads/db9860/original/3X/c/f/cf579d0503105d41f84653929d510e17f12d9f5b.js’ porque viola la siguiente directiva de Política de Seguridad de Contenido:
"script-src
https://www.mydiscoursesite.com/logs/
https://www.mydiscoursesite.com/sidekiq/
https://www.mydiscoursesite.com/mini-profiler-resources/
https://www.mydiscoursesite.com/assets/
https://www.mydiscoursesite.com/extra-locales/
https://www.mydiscoursesite.com/highlight-js/
https://www.mydiscoursesite.com/javascripts/
https://www.mydiscoursesite.com/plugins/
https://www.mydiscoursesite.com/theme-javascripts/
https://www.mydiscoursesite.com/svg-sprite/

2 Me gusta

Puedo reproducirlo.

Una configuración introducida recientemente permite que scripts externos se ejecuten dinámicamente sin configuración manual.
No está disponible en 3.2.

image

Definitivamente no es una buena idea permitir el directorio “/uploads”.
Sin embargo, como solución alternativa, permitir solo las URL debería estar bien.

Si vas a la configuración del componente:

Puedes hacer clic derecho en cada enlace para copiar y pegarlos en la configuración content security policy script-src.

No sé si hay una mejor manera de manejar el problema de CSP aquí desde un componente temático. :thinking:

1 me gusta

gracias @Arkshine

en la consola, vi estos 2 js en la url de /uploads/, y los agregué a la lista de “content security policy script src”

https://www.site.com/uploads/db9860/original/3X/c/f/cf579d0503105d41f84653929d510e17f12d9f5b.js
https://www.site.com/uploads/db9860/original/3X/a/2/a25eb4ec6c9652e57eefc81bc25c81105232369b.js

confirmé el permiso del navegador para grabar.
luego, cada vez que inicio una grabación, se produce un error con una url diferente, ¿parece que el id se genera sobre la marcha?

https://www.site.com/8f955841-9b8b-4857-8549-ac57ee0e4517
https://www.site.com/d43014ac-e80d-4879-83a2-bd046d43a25c

agregar estas urls no ayuda, parece que se generan para cada grabación… ?

1 me gusta

¿Puede intentar agregar script-src: blob: en content security policy script-src, también, por favor?

3 Me gusta

¡funciona, gracias @Arkshine!

esperando la grabación de voz en el chat :slight_smile:

4 Me gusta

No tuve este error, aparentemente porque ya tenía blob: como una entrada en content security policy script src porque el plugin de @peter.be lo había requerido y desde que eliminé ese plugin no había eliminado blob: como una entrada en content security policy script src, por lo que ya estaba allí, como se muestra a continuación…\n\n

\n\n¿También es necesario agregar mp3 a la lista de extensiones autorizadas en la configuración de administración de Discourse? Yo también tengo eso ya de antes…\n\n

3 Me gusta

Solo para pensar: CSP tiene tendencia a romper cosas de forma grave, y por eso es bastante habitual usar reglas que son prácticamente comodines — y entonces CSP pierde totalmente su propósito.

¿Y bien?

2 Me gusta