Проблемы
Сообщения в 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) Как преобразовать массив байтов в строку по порядку чтобы увидеть его напечатанным на консоли?