Я пытаюсь использовать RecordRTC.js для записи звука с микрофона и загрузки его на сервер nancyfx.RecordRTC с пользовательскими записями частоты дискретизации тишины
Для тестирования я просто пытаюсь загрузить аудиопоток и сохранить его в wav-файле. Однако мое требование состоит в том, что поток сохраняется в 16 бит на 22050 Гц.
Проблема заключается в том, что когда я записываю файл, используя стандартную конфигурацию (без recordRtcOptions), я могу загрузить файл и сохранить его. Когда я укажу частоту дискретизации в recordrtc, выходной файл будет просто тихим.
Соответствующая часть кода находится внутри службы angularJS следующим образом:
app.service('AudioService', ['$window', '$http', function($window, $http) {
var recordRtcOptions = {
'sample-rate' : 22050
};
navigator.getUserMedia = (
$window.navigator.getUserMedia ||
$window.navigator.webkitGetUserMedia ||
$window.navigator.mozGetUserMedia ||
$window.navigator.msGetUserMedia)
var _recordRTC = {};
navigator.getUserMedia({ audio: true, video: false }, function (stream) {
console.log('starting to initialize getUserMedia');
console.log(recordRtcOptions);
_recordRTC = RecordRTC(stream, recordRtcOptions);
console.log('Finished initializing getUserMedia');
}, function (error) {
console.log('Error initializing media stream: ' + error);
});
var instance = {};
instance.startRecording = function() {
console.log('starting to record...');
console.log('sample rate: ' + _recordRTC.sampleRate);
_recordRTC.startRecording();
};
instance.stopRecording = function(uploadPath) {
console.log('sample rate: ' + _recordRTC.sampleRate);
_recordRTC.stopRecording(function(audioVideoMURL) {
console.log('stopped recording...');
console.log('recordrtc stop sample rate: ' + _recordRTC.sampleRate);
$http({
method : 'POST',
url : uploadPath,
data : _recordRTC.getBlob()
}).success(function(data) {
console.log('POST /audio Success');
}).error(function() {
console.log('POST /audio error');
});
});
};
return instance;
}]);
Любая идея о том, что может быть проблема?
Я принимаю ваш ответ, так как он отвечает на вопрос. В будущем, я попытаюсь записать в формате по умолчанию и обработать аудио на сервере (фильтрация нижних частот и повторная выборка). – TiagoOliveira
Да, я согласен, что я делаю, это просто интерполяция, и это не так. – mido