Запись голоса пользователя с помощью JS и отправка на сервер django
Я хочу записать голос пользователя и отправить его на сервер (django). Я не хочу сохранять голос с помощью моделей, но хочу преобразовать голос в текст с помощью библиотек Python
Для этого я использую этот плагин, но мой записанный голос хранится в формате blob и в теге audio. Я не могу отправить blob на сервер. Я также использовал Recorder.js, но он также сохраняется в формате blob.
вы можете использовать API fetch или AJAX-запрос для отправки аудиоданных в виде двоичного файла. Перед отправкой данных необходимо преобразовать аудиоданные (blob) в формат, который можно легко передать, например base64 или array buffer
// Convert the blob to a base64 string
var reader = new FileReader();
reader.readAsDataURL(blob);
reader.onloadend = function() {
var base64Data = reader.result;
// Send the base64 encoded data to the server using fetch
fetch('/your-django-endpoint/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
data: base64Data
})
})
.then(response => response.json())
.then(data => {
console.log('Success:', data);
})
.catch((error) => {
console.error('Error:', error);
});
};
в вашем представлении Django вы можете получить данные в кодировке base64, декодировать их и преобразовать обратно в аудиофайл. Затем вы можете использовать библиотеки Python для преобразования аудио в текст