Seshu B Ответов: 1

Запись аудио в браузере и загрузка его с помощью ASP.NET MVC


Всем привет
я хочу записать аудиофайл и должен загрузить его с помощью MVC5
пожалуйста, дайте мне soultions относительно этого..

Что я уже пробовал:

<!DOCTYPE html>

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Live input record and playback</title>
    <style type='text/css'>
        ul {
            list-style: none;
        }

        #recordingslist audio {
            display: block;
            margin-bottom: 10px;
        }
    </style>
</head>
<body>

    @*<h1>Recorder.js simple WAV export example</h1>

    <p>Make sure you are using a recent version of Google Chrome.</p>
    <p>Also before you enable microphone input either plug in headphones or turn the volume down if you want to avoid ear splitting feedback!</p>*@

    <button onclick="startRecording(this);">record</button>
    <button onclick="stopRecording(this);" disabled>stop</button>

    <h2>Recordings</h2>
    <ul id="recordingslist"></ul>

    <h2>Log</h2>
    <pre id="log">



функция __log(e, data) {
войти.innerHTML будет += "\п" + е + "" + (данные || ");
}
ВАР audio_context;
регистратор var;
функция startUserMedia(поток) {
var input = audio_context.createMediaStreamSource(поток);
__log('создан медиа-поток.');
// Раскомментируйте, если вы хотите, чтобы аудио напрямую отзывалось
//input.connect(audio_context.destination);
//__журнал (вход подключен к аудио контексте назначения'.);

регистратор = новый регистратор(вход);
_Диктофон _log('инициализации'.);
}
функция startRecording(кнопка) {
рекордер & & amp; рекордер.запись();
кнопки.инвалидов = True;
кнопки.nextElementSibling.отменено = ложь;
__log('запись...');
}
функция stopRecording(кнопка) {
магнитофон и усилитель; & диктофон.стоп();
кнопки.инвалидов = True;
кнопка.previousElementSibling.отменено = ложь;
__log('остановлена запись.');

// создать ссылку для загрузки WAV с помощью Blob-объекта аудиоданных
createDownloadLink();

диктофон.понятно();
}
функция createDownloadLink() {
recorder && recorder.exportWAV(функция(blob) {
ВАР урл = URL-адрес.createObjectURL(BLOB-объектов);
ВАР ли = документ.метод createElement('литий');
ВАР ас = документ.метод createElement('аудио');
ВАР ХФ = документ.метод createElement('а');

АУ.контроль = истина;
АУ.в src = Url-адрес;
кв.с href = url-адрес;
кв.скачать = новая дата().toISOString() + '.в формате WAV';
кв.innerHTML будет = ХФ.скачать;
ли.метода appendChild(ас);
ли.метода appendChild(ВЧ);
recordingslist.метода appendChild(ли);
});
}
window.onload = функция init() {
пробовать {
// прокладка webkit
окно.AudioContext = окно.AudioContext || окно.webkitAudioContext;
navigator.getUserMedia = navigator.getUserMedia || навигатор.webkitGetUserMedia;
окно.URL = окно.URL || окно.webkitURL;

audio_context = новый Аудиоконтекст;
__log('настройка звукового контекста.');
_Навигатор _log ('.getUserMedia можно ' + (навигатор.getUserMedia можно ? 'доступный'.: 'нет!'));
} catch (e) {
предупреждение("нет поддержки веб-аудио в этом браузере!");
}

navigator.getUserMedia({audio: true}, startUserMedia, function(e) {
__log('нет живого аудиовхода:' + e);
});
};

1 Ответов

Рейтинг:
9

Afzaal Ahmad Zeeshan

Ну и что? То, что не работает, похоже, вам уже предоставили пример кода, попробуйте его.

Кроме того, вы используете пользовательскую стороннюю библиотеку, прочитайте их документацию для получения дополнительной информации об этом. Репозиторий GitHub для этого пакета содержит всю информацию, которая может потребоваться для понимания того, как работает эта библиотека. Кроме того, это открытый исходный код, так что вы также можете читать контент. Он также предоставил образец на GitHub: Recorderjs/example_simple_exportwav.html в master · mattdiamond/Recorderjs · GitHub[^]

GitHub - mattdiamond/Recorderjs: плагин для записи/экспорта выходных данных узлов Web Audio API[^]

Кроме того, если вы хотите прочитать, как загружать файлы на сервер асинхронно через JavaScript, прочтите эту мою статью для этого, Загрузка файлов – HTML5 и jQuery Way![^]


Seshu B

Thanq Afzaal Зишан Ахмед
он прекрасно работает.
но мне нужно еще одно уточнение. то есть после остановки записи ее следует загрузить на сервер

Afzaal Ahmad Zeeshan

Обработайте это событие "остановки" и загрузите blob - объект на сервер. Пожалуйста, смотрите статью, которую я предоставил, в ней говорится о загрузке контента на сервер, такого как файлы. Этот показывает — я полагаю — образы.

Karthik_Mahalingam

5

Afzaal Ahmad Zeeshan

Спасибо тебе, Картик!

Member 13493741

Любой исходный код после вызова ajax . Я имею в виду сохранить этот blob-объект как .wav на моем сервере с помощью веб-API C#

Afzaal Ahmad Zeeshan

Для этого вам нужно будет рассмотреть возможность чтения в сторону C#, вы сможете получить объект File в запросе, оттуда вы можете сохранить его содержимое в файл.

Member 13493741

Спасибо, брат. я пытался использовать https://stackoverflow.com/questions/28040823/voice-recorder-saving-blob-file-to-server-c-sharp-mvc. Но безрезультатно .