aws-android-sdk-1.4.3/samples/S3_SimpleDB_SNS_SQS_Demo
Amazon (Amazon Simple Storage Service) に保存されているファイルをプレビューするために使用 します。コードを調べてみると、ファイルにアクセスするためにこれを使用していることがわかりました。
com.amazonaws.demo.s3.S3.getDataForObject (line 130)
public static String getDataForObject( String bucketName, String objectName ) {
return read( getInstance().getObject( bucketName, objectName ).getObjectContent() );
}
protected static String read( InputStream stream ) {
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream( 8196 );
byte[] buffer = new byte[1024];
int length = 0;
while ( ( length = stream.read( buffer ) ) > 0 ) {
baos.write( buffer, 0, length );
}
return baos.toString();
}
catch ( Exception exception ) {
return exception.getMessage();
}
}
}
さて、私はこのメソッドをByteArrayOutputStream
代わりに返すように変更し、簡単にString
orに変換しましたBitmap
(適用してByteArrayOutputStream.toByteArray()
から を使用
BitmapFactory.decodeByteArray(byte[] data, int offset, int length, Options opts)
)。
したがって、テキストファイルと画像で動作します。私の問題は、ビデオにアクセスしようとするときです。だから、私の質問は次のとおりです。
1.上記の方法を使用して、 ByteArrayOutputStream
( ByteArrayOutputStream.toString()
)からビデオを取得し、 VideoView
or を使用してMediaPlayer
or アプローチで再生するにはどうすればよいですか?
2. Amazon に保存されているプレビュー動画の問題に対する他の解決策を知っている人はいますか? sdk
(彼らはIOS
URLを使ってファイルにアクセスしていると聞きました...)
PS: ファイルの URL を指定してブラウザーで開くことは意味がありません。この URL はしばらくすると期限切れになるためです。