Composant enregistreur vocal

Comme ça ! Assurez-vous d’utiliser l’URL que je vous ai donnée. :+1:

5 « J'aime »

Voici mes résultats avant et après :

(Notez également que le seul lecteur .mp3 intégré qui n’affiche pas la durée du clip est celui enregistré sous Windows, avant et après.)

AVANT :

APRÈS :

Faites-moi savoir si vous souhaitez que j’effectue d’autres tests !

2 « J'aime »

Cela fonctionne pour moi en utilisant un iPad et un iPhone, également sur DiscourseHub. La durée d’un clip s’affiche lors de la lecture.

3 « J'aime »

Merci pour vos commentaires, Jakke !

Merci également à @denvergeeks, j’ai corrigé deux problèmes et il a confirmé que tout fonctionne maintenant parfaitement.

Je vais bientôt soumettre une Pull Request. :+1:

5 « J'aime »

J’ai fait la PR :+1:

Fonctionnalités possibles pour d’autres PR :

  • Ajouter la prise en charge du chat
  • Ajouter la prise en charge de la pause/reprise
10 « J'aime »

Une telle génialité

3 « J'aime »

Voici une idée folle : un bouton de transcription IA pour les fichiers audio .mp3 téléchargés dans l’éditeur ? Ainsi, un utilisateur pourrait (maintenant) enregistrer une publication dans l’éditeur, et la rendre également lisible et consultable en texte.

Que faudrait-il pour inclure la capacité OpenAI/Whisper ?

Ou, dans les options du menu déroulant IA qui apparaissent lors de la sélection du fichier dans l’éditeur…

…pourrait inclure une option Transcrire le texte

8 « J'aime »

Ce serait une fonctionnalité intéressante et utile ! :+1:

Je vérifierai la faisabilité un autre jour.

8 « J'aime »

Fortement apprécié pour celui-ci !

3 « J'aime »

Si elle est implémentée dans Chat, la transcription automatique en ligne pourrait également inclure des traductions.

5 « J'aime »

J’ai mis à jour ce composant dans le système.
https://github.com/paviliondev/discourse-voice-recorder

Testé sur Firefox/Safari/Chrome sur Mac, et sur iPhone.
Il affiche ceci, il n’enregistre pas.
Quelqu’un pourrait-il confirmer, merci…

2 « J'aime »

Pouvez-vous vérifier la console du navigateur si vous voyez des erreurs ?

À ce stade, cela signifie que quelque chose bloque le chargement du script de la bibliothèque.

3 « J'aime »

Je viens d’installer fraîchement le TC depuis le dépôt paviliondev comme indiqué ci-dessus.

Tout fonctionne dans mon instance Discourse. Voici une vidéo…

(Et aucune erreur n’apparaît dans la console à aucune étape de la création/téléchargement/lecture.)

4 « J'aime »

ceci est discourse 3.2.1 hébergé sur communiteq
load-script.js:43 Refusé de charger le script ‘https://www.mydiscoursesite.com/uploads/db9860/original/3X/c/f/cf579d0503105d41f84653929d510e17f12d9f5b.js’ car il viole la directive suivante de la politique de sécurité du contenu :
« 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 « J'aime »

Je peux reproduire.

Un paramètre récemment introduit permet aux scripts externes de s’exécuter dynamiquement sans configuration manuelle.
Il n’est pas disponible dans la version 3.2.

image

Ce n’est définitivement pas une bonne idée d’autoriser le répertoire « /uploads ».
Cependant, comme solution de contournement, autoriser uniquement les URL devrait être acceptable.

Si vous allez dans les paramètres du composant :

Vous pouvez faire un clic droit sur chaque lien pour les copier et les coller dans le paramètre content security policy script-src.

Je ne sais pas s’il existe une meilleure façon de gérer le problème CSP ici à partir d’un composant de thème. :thinking:

1 « J'aime »

Merci @Arkshine

Dans la console, j’ai vu ces 2 js dans l’URL /uploads/, et je les ai ajoutés à la liste 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

J’ai confirmé l’autorisation du navigateur pour l’enregistrement.
Ensuite, à chaque fois que je démarre un enregistrement, il y a une erreur avec une URL différente, semble-t-il que l’ID est généré à la volée ?

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

L’ajout de ces URL n’aide pas, semble-t-il qu’elles sont générées pour chaque enregistrement… ?

1 « J'aime »

Pouvez-vous essayer d’ajouter script-src: blob: dans content security policy script-src, s’il vous plaît ?

3 « J'aime »

ça marche, merci @Arkshine !

au plaisir d’enregistrer la voix dans le chat :slight_smile:

4 « J'aime »

Je n’ai pas eu cette erreur, apparemment parce que j’avais déjà blob: comme entrée dans content security policy script src car le plugin de @peter.be l’exigeait et depuis la suppression de ce plugin, je n’avais pas retiré blob: comme entrée dans content security policy script src, donc il était déjà là, comme ci-dessous…\n\n

\n\nEst-il également nécessaire d’ajouter mp3 à la liste des extensions autorisées dans les paramètres d’administration de Discourse ? J’ai aussi cela déjà depuis auparavant…\n\n

3 « J'aime »

Juste pour réfléchir : CSP a tendance à casser les choses gravement, et à cause de cela, il est assez courant d’utiliser des règles qui sont pratiquement des jokers — et alors CSP perd totalement son idée.

Alors ?

2 « J'aime »