我使用aws-android-sdk-1.4.3/samples/S3_SimpleDB_SNS_SQS_Demo
預覽存儲在亞馬遜(Amazon Simple Storage Service)上的文件。翻翻代碼,我看到他們利用這一點,來存取權限的文件:如何在Android應用程序中從Amazon S3播放視頻?
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
或Bitmap
(應用ByteArrayOutputStream.toByteArray()
然後使用 BitmapFactory.decodeByteArray(byte[] data, int offset, int length, Options opts)
)。
因此,它適用於文本文件和圖片。我的問題是當我嘗試訪問視頻。所以,我的問題是:
1.使用上述方法進行,我怎麼能得到ByteArrayOutputStream
(ByteArrayOutputStream.toString()
)的視頻,並在播放一個VideoView
或使用MediaPlayer
或靠近...?
2。有誰知道存儲在亞馬遜上的預覽視頻的這個問題的任何其他解決方案嗎? (我聽說他們的sdk
爲IOS
他們使用URL來訪問文件...)
PS:提供文件URL並在瀏覽器中打開它沒有任何意義,因爲這些URL在wile之後過期。
does not throw MediaPlayer:setDataSource IOException happend?因爲該url不是在Android播放器將接受的格式 – therealprashant
這不適用於我 – therealprashant
@therealprashant我不記得在這個時候,很久以前:)。但是,一旦你有了網址,我認爲你可以根據你的需要進行格式化。 – AlexAndro