2011-07-01 128 views
1

我寫了錄音機應用程序。現在我想要將音頻數據實時直接寫入Amazon S3文件。我發現適用於Android的AWS SDK具有適當的功能:public Upload upload(String bucketName, String key, InputStream input, ObjectMetadata objectMetadata)。但有人說,「當從一個流上傳數據時,調用者必須提供流中數據的大小」。那麼,當我不知道在錄製時流的大小,它會工作嗎?
如果沒有,是否還有其他解決方案?如何將音頻流式傳輸到Amazon S3?

+0

你能不能在本地緩衝一定數量,然後一次發送小塊(比如4k左右)? –

+0

我可以。但是,如何在亞馬遜服務器端合併這些塊? – alehro

回答

0

由於亞馬遜S3存儲數據的方式(與平均文件系統不同),我認爲連續數據流是不可能的。

但是,您可以將記錄作爲塊傳遞。您的錄音筆將開始錄製到一個文件,然後在第一個文件達到一定大小後切換到另一個文件。然後你會上傳第一個文件,而第二個文件正在錄製。一旦第二個文件達到一定的大小,那麼你會切換到第三個文件,然後上傳第二個文件,等等。

+0

我打算使用Google App Engine。它有很好的附加文件功能,這將使合併塊很容易。 – alehro

相關問題