gpt4 book ai didi

java - Amazon S3 和 Java 中的音频文件

转载 作者:太空宇宙 更新时间:2023-11-04 14:05:56 25 4
gpt4 key购买 nike

我正在尝试使用 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();
}

关于java - Amazon S3 和 Java 中的音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28866577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com