enregistrement audio de l'utilisateur et de l'enregistrer sur le serveur
Je suis en train d'enregistrer de l'audio à partir d'un site de l'utilisateur et enregistrer de l'audio sur mon serveur. Beaucoup de billets j'ai étudié jusqu'à présent ont référencé Matt Diamant recorderjs. J'ai essayé de recréer la démo à http://webaudiodemos.appspot.com/AudioRecorder/index.html par l'ouverture du code source par le biais de mon navigateur. J'ai copié le code html "audiodisplay.js", "recorder.js" et "main.js" et les mettre sur mon serveur. J'ai également ajouté le "recorderWorker.js" le fichier à partir de sa page GitHub. Dans le recorder.js fichier, j'ai changé var WORKER_PATH = 'js/recorderjs/recorderWorker.js" pour var WORKER_PATH = 'recorderWorker.js';
Quand je lance la démo que j'ai mis en place, je me fais de la "aimeriez-vous partager votre microphone.." avertissement et je peux démarrer l'enregistrement en appuyant sur l'icône micro sur le côté droit. Cependant, quand j'ai arrêter l'enregistrement, le signal audio ne passe pas en dessous comme dans Matt démo et l'icône de sauvegarde n'a pas été activés.
Si je peux obtenir la démo et en cours d'exécution, le prochain problème que j'ai est d'enregistrer le fichier wav sur le serveur plutôt que localement comme dans la démo. J'ai trouvé plusieurs postes de dire d'utiliser XMLHttpRequest(), mais je ne peux pas vraiment savoir comment connecter ces exemples recorderjs. Enregistrement de Fichiers WAV Enregistrés dans google Chrome pour Serveur HTML5 & getUserMedia - Enregistrement Audio & Enregistrer pour le Web Serveur apres un Certain Temps RecorderJS téléchargement enregistré blob via AJAX
OriginalL'auteur user3080392 | 2014-12-01
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé une solution, mais ce serait encore accueillir d'autres liées à recorderjs. J'ai utilisé MP3RecorderJS à https://github.com/icatcher-at/MP3RecorderJS. La démo fonctionne le html si vous modifiez le début du html à partir src="js/jquery.min.js" et src="js/mp3recorder.js" partout où ils sont situés dans votre serveur. Pour moi, c'est src="jquery.min.js" et src="mp3recorder.js" j'ai également eu à faire la même chose pour le "mp3recorder.js" fichier: var RECORDER_WORKER_PATH = 'js/recorderWorker.js'; var ENCODER_WORKER_PATH = 'js/mp3Worker.js'; modification var RECORDER_WORKER_PATH = 'recorderWorker.js'; var ENCODER_WORKER_PATH = 'mp3Worker.js';
Le programme est configuré pour enregistrer les fichiers mp3 et wav. Je voulais wav, donc j'ai fait quelques ajustements pour le fichier html. À la ligne 55, vous trouverez:
J'ai changé:
La démo ajoute un nouveau joueur à chaque fois que vous enregistrez. Pour éviter cela, j'ai supprimé (commenté) $enregistreur.append(ua), fait un nouveau div pour stocker le lecteur audio, et puis j'ai clairement que les div à chaque fois, avant que le lecteur audio est créé. Pour l'uploader sur mon serveur, j'ai utilisé une technique que j'ai appris de télécharger des images à un serveur enregistrer toile de l'image vers le serveur Fondamentalement, la "url" variable dans la ligne 56 était ce dont j'avais besoin, mais ne pouvait pas comprendre comment le mettre dans un universel de la variable par une autre fonction. Alors, j'ai fait un div caché et fait le contenu de celui-ci égale à "url". J'ai ensuite référencé div dans une nouvelle fonction appelée "télécharger". J'ai ensuite utilisé un fichier php appelé "uploadWav.php". J'ai encore trouver un moyen d'activer et de désactiver le bouton de téléchargement pour empêcher l'utilisateur de télécharger un fichier vide avant de l'enregistrer, mais c'est une autre question. Voici la dernière html et php, ce qui a fonctionné pour moi:
et l' "uploadWav.php" fichier:
OriginalL'auteur user3080392
À l'aide de
XMLHttpRequest
de post wav ou mp3 gouttes de serveur est simple.Il suffit d'exécuter ce code chaque fois que vous avez accès à la
blob
élément:Je préfère
XMLHttpRequest
à$.ajax()
car il ne nécessite pas de jQuery.Côté serveur,
upload.php
est aussi simple que:Source: https://addpipe.com/blog/using-recorder-js-to-capture-wav-audio-in-your-html5-web-site/
Démonstration en direct: https://addpipe.com/simple-recorderjs-demo/
OriginalL'auteur Octavian Naicu
OriginalL'auteur user2164096