¿Cómo convertir un archivo de video / audio a una matriz de bytes y viceversa en Android?

Estoy tratando de convertir audio / video a una matriz de bytes y viceversa, usando el siguiente código puedo convertir archivos de audio / video a una matriz de bytes (ver el código a continuación) pero no puedo convertir un archivo grande (más de 50 MB) ¿hay algún límite? ?¿Cómo convertir una matriz de bytes a un archivo de audio / video? amablemente ayúdame

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;
}

Ayuda amablemente para obtener el resultado

Respuestas a la pregunta(2)

Su respuesta a la pregunta