2016-09-20 3 views
0

Я работаю над приложением, которое использует cordova-plugin-media для записи и аудиофайла, и теперь я хочу кодировать этот файл в base64-строку, пока я могу найти файл но когда я пытаюсь кодировать его, я получаю это:Кодировать MP3-файл на base64 строку в Ionic

"{" $$ состояние ": {" статус ": 0}}"

Вот мой код

audio.stopRecord(); 
audio.play(); 
if(device.platform == "iOS") 
{ 
    var path = cordova.file.tempDirectory; 
} 
else if(device.platform == "Android") 
{ 
    var path = cordova.file.externalRootDirectory; 
} 

var filename = name + extension; 
var filepath = path + filename; 


console.log(filepath); 
console.log(JSON.stringify($cordovaFile.readAsDataURL(path, filename))); 

путь к файлу: file:///storage/emulated/0/tPUhcxUKhmLUrWK3Qkqhc69OxeEIWyYrhEB0he9OwM0ffmjY2OUh3TLbFTsApdpIpjxyuC2wouyCs6m7uvdOCHCMiw9mbLMGYM25.mp3

Can a помогите мне с этим?

Благодаря

+1

ли вы запустить отладчик кода? Получает ли ваш вызов 'atob' данные, которые вы ожидаете получить? –

+0

Я думаю, что проблема, мне нужно получить base64 строку аудиофайла, и я не уверен, как я могу это сделать. –

+1

ОК. Можете ли вы уменьшить свой вопрос до * именно этого *? «Как преобразовать формат A в формат B?» гораздо более конкретный, чем «почему мое приложение не работает?». Конкретные вопросы, подобные этому (когда они включают в себя [MCVE] (http://stackoverflow.com/help/mcve)), привлекают больше, лучше ответы и upvotes. –

ответ

2

readAsDataURL нужен файловый объект, он не будет работать со струнным путем.

Дайте следующий код попробовать, работая над прошивкой и Android

window.resolveLocalFileSystemURL(path, function(fileEntry) {fileEntry.file(function (file) { 
var reader = new FileReader(); 

reader.onloadend = function(evt) { 
    var base64String = evt.target.result; 
}; 

reader.readAsDataURL(file); 

});}, function(e){console.log("error:" + JSON.stringify(e));}); 
+0

спасибо за ваш ответ, но какой формат пути я должен дать при использовании устройств ios? –

+1

var path = cordova.file.tempDirectory + "music.wav"; это работает для меня – user5091906

+0

Спасибо за ваш ответ, BTW, вы имеете представление об этой ошибке: http://stackoverflow.com/q/39643801/1845649 –

Смежные вопросы