Glide не загружает ресурсы при попытке загрузить аудиофайл со смартфона - PullRequest
0 голосов
/ 16 января 2020

Проблемы

Сообщения в Logcat Я получаю от Android Studio:

01-16 11:27:34.088 15846-15846/? W/Glide: Load failed for /storage/emulated/0/9fe457b5-7baf-459d-be34-76ec5c2bcf74audio_record.3gp with size [80x80] 
class com.bumptech.glide.load.engine.GlideException: Failed to load resource

     Cause (1 of 3): class com.bumptech.glide.load.engine.GlideException: Failed LoadPath{FileInputStream->Object->Drawable}, LOCAL

       Cause (1 of 3): class com.bumptech.glide.load.engine.GlideException: Failed DecodePath{FileInputStream->GifDrawable->Drawable}

       Cause (2 of 3): class com.bumptech.glide.load.engine.GlideException: Failed DecodePath{FileInputStream->Bitmap->Drawable}
       Cause (3 of 3): class com.bumptech.glide.load.engine.GlideException: Failed DecodePath{FileInputStream->BitmapDrawable->Drawable}

     Cause (2 of 3): class com.bumptech.glide.load.engine.GlideException: Failed LoadPath{ParcelFileDescriptor->Object->Drawable}, LOCAL
       Cause (1 of 2): class com.bumptech.glide.load.engine.GlideException: Failed DecodePath{ParcelFileDescriptor->Bitmap->Drawable}
       Cause (2 of 2): class com.bumptech.glide.load.engine.GlideException: Failed DecodePath{ParcelFileDescriptor->BitmapDrawable->Drawable}

     Cause (3 of 3): class com.bumptech.glide.load.engine.GlideException: Failed LoadPath{AssetFileDescriptor->Object->Drawable}, LOCAL

       Cause (1 of 1): class com.bumptech.glide.load.engine.GlideException: Failed DecodePath{AssetFileDescriptor->Bitmap->Drawable}

Я не понял этих сообщений об ошибках. Почему я получаю именно тогда?

Идея

Здравствуйте, я занимаюсь разработкой приложения, которое записывает звук со смартфона, записывает этот звук и преобразует его в вектор байтового массива. Аудио после записи сохраняется на смартфоне в виде аудиофайла с именем "... audio_record.3gp ".

Что я делаю: После использования приложения для записи звука я открываю приложение под названием « Диспетчер файлов » и go в файл » / storage / emulated / 0"где сохраняются aud ios, записанные с концом" ..audio_record.3gp ".

Чтобы получить этот локальный «путь», я кодирую это:

String path = Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+UUID.randomUUID().toString()+"audio_record.3gp";

Затем я получаю этот аудиофайл и преобразую его в вектор байтового массива, выполняя это:

public byte[] convert(String path) throws IOException {

    FileInputStream fis = new FileInputStream(path);
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    byte[] b = new byte[1024];

    for (int readNum; (readNum = fis.read(b)) != -1; ) {
        bos.write(b, 0, readNum);
    }

    byte[] bytes = bos.toByteArray();

    String decode = Arrays.toString(bytes);
    Log.d("mytag", decode);

    return bytes;

Звук записывается правильно и сохраняется в файл "/ storage / emulated / 0". Проблема возникает, когда мы получаем последний звук из этого файла и пытаемся работать с ним. «* / storage / emulated / 0 / 9fe457b5-7baf-459d-be34-76ec5c2bcf74audio_record.3gp ***» - это имя аудиофайла, который пытались загрузить.

Дополнительная информация Вы можете найти и помочь мне здесь: (1) Как решить эту ошибку: Android сбой привязки ресурса? или (2) Как преобразовать массив байтов в строку по порядку чтобы увидеть его напечатанным на консоли?

...