簡體   English   中英

Amazon S3和Java中的音頻文件

[英]Audio File in Amazon S3 and Java

我正在嘗試使用Java將存儲在Amazon S3中的兩個音頻文件合並在一起。 任何想法如何去做? 我應該先使用S3ObjectInputStream然后使用AudioInputStream嗎? 我試過了,但是我得到了不受支持的文件格式錯誤,盡管它是有效的wav文件。 請指教。

我也正在嘗試這樣做。 到目前為止,這就是我所得到的。 我們使用inputStream寫入文件,因為據我所知,沒有很好的方法從MediaPlayer中獲取流並進行播放。

有了文件后,我們將提供MediaPlayer的路徑並使其播放。 但是我的問題是音頻文件沒有完全下載。 我認為這必須處理緩沖區大小。 此外,沒有暫停或播放功能,因此您仍然需要一個GUI。

不要忘記在與主線程不同的線程中使用它。

            String bucket = getContext().getString(R.string.bucketName);
            String key = "somekey";
            InputStream s3ObjectInputStream = s3.getObject(bucket,key).getObjectContent();
            byte[] buffer = new byte[1024];
            try {

                File targetFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/temp.mp4");
                OutputStream outStream = new FileOutputStream(targetFile);
                while( (s3ObjectInputStream.read(buffer)) != -1)
                {
                    outStream.write(buffer);
                }


                MediaPlayer mp = new MediaPlayer();

                try {
                    mp.setDataSource(Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "temp.mp4");
                    mp.prepare();
                    mp.start();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM