Я пытаюсь преобразовать байтовый массив в строку, чтобы можно было увидеть этот вектор / массив и проанализировать, как организованы эти байты.
Для этого я использую приведенный ниже код:
byte[] bytes = bos.toByteArray();
String msgDecode = new String(bytes); // trying to convert byte in String
System.out.println("Vetor de bytes [" + msgDecode + "]"); // Showing it
Но это не работает. Почему приведенный выше код не работает?
Стоит отметить, что массив байтов создается в соответствии с этим другим кодом:
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();
return bytes;
}
Общая идея заключается в записи звука с смартфон и преобразовать этот аудиофайл в массив байтов. Этот String path - это путь, по которому аудио сохраняется после записи. Затем я использую этот путь (который представляет аудиофайл) и преобразую его в байтовый массив в соответствии с приведенным выше кодом.
Более подробную информацию вы можете найти и помочь мне здесь: Как решить эту ошибку: Android Не удалось связать ресурс?