Я пытался сохранить аудиофайл в постоянном хранилище в течение двух дней безуспешно.
Пока я могу создать аудиофайл, который записывает аудио с микрофона (приложение имеет разрешение), используякод прилагается ниже.
Аудио файл генерируется и сохраняется успешно, я могу его воспроизвести.
Но настоящая проблема заключается в том, что когда я закрываю приложение и возвращаюсь и пытаюсь воспроизвести файл, который показывает ошибку.
"{" message ":" Невозможно использовать аудиофайл из ресурса '/myrecording.wav' "," code ": 1}"
Файл не являетсясохраняется в сеансах приложения, даже если я использовал LocalFileSystem.PERSISTENT .
Я не уверен, связана ли проблема с моим кодом мультимедиа / аудио или кодом хранилища файлов.
Пожалуйста, найдите код, прикрепленный ниже:
Ниже функция записывает звук с микрофона.
function _recordAudio() {
var deferred = $q.defer();
var src = "myrecording.wav";
alert("SRC:" + src);
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
fileSystem.root.getFile(src, {
create: true,
exclusive: false
}, function (fileEntry) {
alert("File " + src + " created at " + fileEntry.fullPath);
var mediaRec = new Media(fileEntry.fullPath,
function () {
alert("Success");
}, function (error) {
alert("error:" + JSON.stringify(error));
});
// Record audio
mediaRec.startRecord();
// Stop recording after 10 sec
var recTime = 0;
var recInterval = setInterval(function () {
recTime = recTime + 1;
if (recTime >= 5) {
clearInterval(recInterval);
mediaRec.stopRecord();
deferred.resolve(fileEntry.fullPath);
}
}, 1000);
}, function (error) {
alert("getFile error:" + JSON.stringify(error));
deferred.reject();
}); //of getFile
}, function (error) {
alert("requestFileSystem error:" + JSON.stringify(error));
deferred.reject();
}); //of requestFileSystem
return deferred.promise;
}
Ниже функция воспроизводит звук.
function _play2() {
var src = "myrecording.wav";
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
fileSystem.root.getFile(src, null, function (fileEntry) {
alert("File " + src + " created at " + fileEntry.fullPath);
var mediaRec = new Media(fileEntry.fullPath,
function () {
alert("Success play2");
}, function (error) {
//Getting error after closing and opening the app
//Error message = {"message": "Cannot use audio file from resource '/myrecording.wav'","code":1}
alert("error play2:" + JSON.stringify(error));
});
mediaRec.play();
});
});
}