Ya no tienes que buscar más por otras páginas porque estás al sitio necesario, contamos con la solución que quieres recibir pero sin problemas.
Solución:
Primero tenemos que proporcionar el nombre de nuestro depósito y el objeto (ver aws-android-sdk-1.4.3/samples/S3_SimpleDB_SNS_SQS_Demo
para una guía completa) queremos abrir y luego obtener la URL de nuestro objeto:
AWSCredentials myCredentials = new BasicAWSCredentials("YOUR_AMAZON_ACCESS_KEY_ID", "YOUR_AMAZON_SECRET_KEY_ID");
AmazonS3 s3client = new AmazonS3Client(myCredentials);
GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucketName, objectName);
URL objectURL = s3client.generatePresignedUrl(request);
Ahora, simplemente reproduzca el video en una vista de video, proporcionando la URL obtenida:
getWindow().setFormat(PixelFormat.TRANSLUCENT);
mediaCtrl = new MediaController(this);
mediaCtrl.setMediaPlayer(videoView);
videoView.setMediaController(mediaCtrl);
Uri clip = Uri.parse(objectURL.toString());
videoView.setVideoURI(clip);
videoView.requestFocus();
videoView.start();
Quiero dar las gracias a @CommonsWare por
-
indicándome a través de
REST API
(incluso el código que usé es deaws-sdk
leer elREST API
la documentación me ayudó y muestra también otras formas de solicitar objetos de Amazon) -
indicándome que use
generatePresignedUrl()
-
el código para reproducir el video también está inspirado en sus materiales.
1.Usando el método proporcionado anteriormente, ¿cómo podría obtener un video de ByteArrayOutputStream (ByteArrayOutputStream.toString()) y reproducirlo en VideoView o usando MediaPlayer o un enfoque…?
Quizás podrías hacer que funcione publicando el byte array a través de un ContentProvider
y openFile()
. Aquí hay un proyecto de muestra donde demuestro servir un archivo por medio de un personalizado InputStream
Por aquí.
Sin embargo, el subsistema de medios es bastante quisquilloso, por lo que no le doy buenas probabilidades de que esto funcione.
2 . ¿Alguien sabe alguna otra solución a este problema de previsualización de vídeos almacenados en Amazon? (Escuché que en su SDK para IOS usan URL para acceder a los archivos…)
La última vez que revisé, S3 tenía una API REST que podía usar para generar direcciones URL para los videos. Le daría esa URL a MediaPlayer
o VideoView
.
Proporcionar la URL del archivo y abrirlo en el navegador no tiene sentido, porque estas URL caducan después de un tiempo.
Pero tú controlas cuánto tiempo “una artimaña [sic]” es. Que sean 24 horas o algo así.
Tienes la posibilidad dar recomendación a este enunciado si lograste el éxito.