从服务器获取JSON文件中的文件(视频)列表并按顺序下载视频,还要按顺序播放?

时间:2016-02-09 09:02:20

标签: android json video-streaming local playback

我有一个将文件存储在http://.mysite.com/content/videos的网络服务 现在我想在我的Android应用程序中实现的是下载用户可以在此服务器上传的每个视频,因此我可以从服务器获取一个json文件,以查看存储了多少视频并在本地下载所有列表,而不是在循环播放它。 请给我一些代码示例和想法。 这个想法是构建一个Signage android客户端。

1 个答案:

答案 0 :(得分:0)

要从网址获取JSON,请参阅我的回答here

之后您可以使用this库来下载视频。您也可以下载它们(逐个)或并行。

<强>用法: 在Application类中初始化下载器:

public XXApplication extends Application{

   @Override
   public void onCreate() {
      super.onCreate();
      FileDownloader.init(this);
   }
}

然后像这样下载。

final FileDownloadListener queueTarget = new FileDownloadListener() {
        @Override
        protected void pending(BaseDownloadTask task, int soFarBytes, int totalBytes) {
        }

        @Override
        protected void connected(BaseDownloadTask task, String etag, boolean isContinue, int soFarBytes, int totalBytes) {
        }

        @Override
        protected void progress(BaseDownloadTask task, int soFarBytes, int totalBytes) {
        }

        @Override
        protected void blockComplete(BaseDownloadTask task) {
        }

        @Override
        protected void retry(final BaseDownloadTask task, final Throwable ex, final int retryingTimes, final int soFarBytes) {
        }

        @Override
        protected void completed(BaseDownloadTask task) {
        }

        @Override
        protected void paused(BaseDownloadTask task, int soFarBytes, int totalBytes) {
        }

        @Override
        protected void error(BaseDownloadTask task, Throwable e) {
        }

        @Override
        protected void warn(BaseDownloadTask task) {
        }
    };


for (String url : URLS) {
   FileDownloader.getImpl().create(url)
       .setCallbackProgressTimes(0) 
       .setListener(queueTarget)
       .ready();
}

if(serial){ 
   FileDownloader.getImpl().start(queueTarget, true);
 }