Fórum Falha ao carregar arquivos de áudio pelo Android #607812
30/01/2020
0
Mensagens de erro mostradas no Logcat do Android Studio:
Estou desenvolvendo um aplicativo que grava um áudio pelo smartphone, pega esse áudio gravado e o transforma em um vetor de bytes. O áudio após ser gravado está sendo salvo pelo smartphone como um arquivo de áudio com nomes genéricos do tipo "...audio_record.3gp".
Após usar o aplicativo para gravar um áudio, eu abro um aplicativo chamado "File Manager" e entro na pasta "/storage/emulated/0" aonde os áudios gravados com o final "..audio_record.3gp" estão sendo salvos.
Para justamente pegar esse diretório local eu uso:
Para converter o arquivo de áudio em um vetor, faço o seguinte:
O que acontece
O áudio está sendo gravado corretamente, e é salvo na pasta "/storage/emulated/0". O problema acontece quando eu pego o último arquivo de áudio que foi gravado na pasta, e tento convertê-lo no vetor de bytes. Aparece as mensagens de erros na Logcat que mostrei acima.
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}
Ideia geral do appEstou desenvolvendo um aplicativo que grava um áudio pelo smartphone, pega esse áudio gravado e o transforma em um vetor de bytes. O áudio após ser gravado está sendo salvo pelo smartphone como um arquivo de áudio com nomes genéricos do tipo "...audio_record.3gp".
Após usar o aplicativo para gravar um áudio, eu abro um aplicativo chamado "File Manager" e entro na pasta "/storage/emulated/0" aonde os áudios gravados com o final "..audio_record.3gp" estão sendo salvos.
Para justamente pegar esse diretório local eu uso:
String path = Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+UUID.randomUUID().toString()+"audio_record.3gp";
Para converter o arquivo de áudio em um vetor, faço o seguinte:
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;O que acontece
O áudio está sendo gravado corretamente, e é salvo na pasta "/storage/emulated/0". O problema acontece quando eu pego o último arquivo de áudio que foi gravado na pasta, e tento convertê-lo no vetor de bytes. Aparece as mensagens de erros na Logcat que mostrei acima.
Carolina Morais
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)