Конвертировать аудио файл в base 64



  • Привет! Появилась необходимость закодировать файл mp3 в base64.
    Стандартными средствами БАС через чтение файла с галкой "Сохранить в формате base64" - кодирует не правильно.
    Есть рекомендация использовать джава вот таким кодом:

    // Import the Base64 encoding library.
    import org.apache.commons.codec.binary.Base64;

    // Encode the audio.
    byte[] encodedAudio = Base64.encodeBase64(audio.getBytes());

    Как можно реализовать это в БАС через выполнить код? За подсказку буду благодарен!



  • @gaget007 said in Конвертировать аудио файл в base 64:

    Привет! Появилась необходимость закодировать файл mp3 в base64.
    Стандартными средствами БАС через чтение файла с галкой "Сохранить в формате base64" - кодирует не правильно.
    Есть рекомендация использовать джава вот таким кодом:

    // Import the Base64 encoding library.
    import org.apache.commons.codec.binary.Base64;

    // Encode the audio.
    byte[] encodedAudio = Base64.encodeBase64(audio.getBytes());

    Как можно реализовать это в БАС через выполнить код? За подсказку буду благодарен!

    BAS работает на языке JavaScript, вы ведь в курсе что Java и JavaScript это принципиально разные языки?



  • Проверил сейчас конвертацию mp3 в base64, всё нормально работает. Как вы поняли, что кодирует не правильно?
    Вот скрипт



  • @fox ахахахах, классное аудио ;)



  • @fox Да, так все работает.
    Как оказалось, сложность заключается в том, что нужно предварительно кодировать аудио файл в другой формат данных LINEAR16(Int16) из стандартного Float32. И только потом в base64.
    Но видимо средствами БАС эту задачу не решить)...



  • @fox Нашел такой js

    var a = new Int16Array(myFloat32Array);

    Не пойму куда вставить переменную с содержимым файла))
    Если не сложно, то буду рад увидеть готовый вариант для вставки в "выполнить код"
    Спасибо!



  • Как конвертировать картинку в байт массив для отправки пост запросом через http client, весь день хожу вокруг да около. пробую так, но похоже проблема в кодировке.

    var fs = require('fs');
    fs.readFileSync('image.jpg', 'binary').toString('binary');



  • @graf said in Конвертировать аудио файл в base 64:

    Как конвертировать картинку в байт массив для отправки пост запросом через http client, весь день хожу вокруг да около. пробую так, но похоже проблема в кодировке.

    var fs = require('fs');
    fs.readFileSync('image.jpg', 'binary').toString('binary');

    var fs = require('fs');
    function base64_encode(file) {
        var bitmap = fs.readFileSync(file);
        return new Buffer(bitmap).toString('base64');
    }
    


  • @Fox said in Конвертировать аудио файл в base 64:

    var fs = require('fs');
    function base64_encode(file) {
    var bitmap = fs.readFileSync(file);
    return new Buffer(bitmap).toString('base64');
    }

    Дружище, благодарю.


Log in to reply