如上所示,我在RetrofitInterface
课程中以静态方式提供了视频链接,如下所示:
@GET("/videos/toystory.mp4")
但是,如果我必须传递视频链接dynamically
,例如此字符串包含链接:
String strVidLink = ".....Vid Link.....";
使用Retrofit lib从URL下载视频,如下所示:
RetrofitInterface.class:
public interface RetrofitInterface {
@GET("/videos/toystory.mp4")
@Streaming
Call<ResponseBody> downloadFile();
}
DownloadService.java:
private void initDownload(){
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://www.html5videoplayer.net")
.build();
RetrofitInterface retrofitInterface = retrofit.create(RetrofitInterface.class);
Call<ResponseBody> request = retrofitInterface.downloadFile();
try {
downloadFile(request.execute().body());
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(),e.getMessage(),Toast.LENGTH_SHORT).show();
}
}
答案 0 :(得分:0)
我认为你必须动态传递链接,如下所示。
public interface RetrofitInterface {
@GET("/videos/{url}")
@Streaming
Call<ResponseBody> downloadFile(@Path("url") String url);
}
或拨打您的界面,如下所示。
Call<ResponseBody> request = retrofitInterface.downloadFile(/*Your Video url*/);