Я пишу приложение, которое возьмет аудиофайл, а затем загрузит его в службу Teleriks everlive. Я хочу, чтобы пользователи не загружали аудиофайлы длиной более 20 секунд.Cordova Media Capture - найдите продолжительность аудиофайла
Но после тестирования кажется, что независимо от продолжительности звукового файла, «data.duration» всегда возвращает 0, поэтому независимо от того, какой файл загружен.
Это плагин я использую: https://github.com/apache/cordova-plugin-media-capture
Это мой код:
var el = new Everlive('app-id-here'); //Taken away ID for stackoverflow
var options = {
fileName: 'testaudio.mp3',
mimeType: 'audio/mpeg3'
};
function formatSuccess(data) {
if (data.duration > 20) {
alert("The audio file you have used is longer than 20 seconds.");
} else {
alert(data.duration);
el.files.upload(capturedFiles[0].fullPath, options)
.then(function() {
alert('success');
}, function (err) {
alert(JSON.stringify(err));
});
}
}
function formatFail() {
alert("Error accessing file data");
}
capturedFiles[0].getFormatData(formatSuccess, formatFail);
Вы нашли решение для этого? я получаю -1 для получения продолжительности тоже. – Mikethetechy