gpt4 book ai didi

安卓媒体播放器 : Download to File and Stream From File

转载 作者:IT王子 更新时间:2023-10-28 23:31:43 27 4
gpt4 key购买 nike

我正在使用 Android 的 MediaPlayer 播放使用 DownloadManager 同时从 Internet 下载的 MP3 文件。我知道 MediaPlayer 可以直接流式传输,但我不想使用它:

下载文件并同时从文件流式传输的明显优势是,通过这种方式,文件被存储起来,之后可以在本地使用。

  • 这在原则上有效 - MediaPlayer 开始播放文件,即使它没有完全下载。 (顺便说一句,我的问题不是我无法播放 MediaPlayer。)
  • 问题在于,当MediaPlayer 到达刚开始播放时下载状态的位置时,它会停止并调用onCompletion(澄清:假设我开始播放时文件已下载 12%。当播放器到达 12% 的位置时,它会停止。)
  • 附注:当通过 DownloadManager 将某些内容附加到 MP3 文件时,不会调用 OnBufferingUpdateListener.onBufferingUpdate(...)

所以问题是:如何同时将音频文件下载到文件系统并播放? (Android 4+ 就足够了,如果这有区别的话。)

最佳答案

我假设您将 MediaPlayer 指向该文件。在那种情况下,我认为它不支持流式传输,并且它可能会提前检查文件的大小等,因此随着更多文件的进入,它不会自行更新。

您必须将其指向可用于流式传输的内容源,例如HTTP。我刚刚检查了“ES文件资源管理器”是如何做到的(使用LogCat)-当您单击远程文件共享中的视频文件时,它会打开一个本地HTTP服务器,并向MediaPlayer发送一个HTTP Uri到其本地服务器,也包括远程路径。

当它通过 HTTP 获得请求时,本地服务器开始从远程位置读取文件,并通过 HTTP 在本地将其提供给 MediaPlayer。您可能也可以这样做,除了通过 HTTP 提供之外,还可以将其保存到磁盘。

关于安卓媒体播放器 : Download to File and Stream From File,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13863724/

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