Android 에서 URLConnection 을 사용 하여 오디 오 파일 을 다운로드 하 는 방법

MediaPlayer 를 사용 하여 온라인 오디 오 를 재생 합 니 다.
때때로 우 리 는 오디 오 파일 을 다운로드 해 야 한다.온라인 오디 오 파일 을 로 컬 파일 에 스 트림 을 통 해 쓸 수 있 는 아 이 디 어 를 제공 합 니 다.
URLConnection 을 사용 하여 연결 을 만 들 고 가 져 온 데 이 터 를 파일 에 기록 합 니 다.
URLConnection 이 연결 을 만 들 면 데이터 길 이 를 얻 을 수 있 습 니 다.이로써 우 리 는 다운로드 진 도 를 계산 해 낼 수 있다.

 public class DownloadStreamThread extends Thread {
  String urlStr;
  final String targetFileAbsPath;
  public DownloadStreamThread(String urlStr, String targetFileAbsPath) {
   this.urlStr = urlStr;
   this.targetFileAbsPath = targetFileAbsPath;
  }
  @Override
  public void run() {
   super.run();
   int count;
   File targetFile = new File(targetFileAbsPath);
   try {
    boolean n = targetFile.createNewFile();
    Log.d(TAG, "Create new file: " + n + ", " + targetFile);
   } catch (IOException e) {
    Log.e(TAG, "run: ", e);
   }
   try {
    URL url = new URL(urlStr);
    URLConnection connection = url.openConnection();
    connection.connect();
    int contentLength = connection.getContentLength();
    InputStream input = new BufferedInputStream(url.openStream());
    OutputStream output = new FileOutputStream(targetFileAbsPath);
    byte[] buffer = new byte[1024];
    long total = 0;
    while ((count = input.read(buffer)) != -1) {
     total += count;
     Log.d(TAG, String.format(Locale.CHINA, "Download progress: %.2f%%", 100 * (total / (double) contentLength)));
     output.write(buffer, 0, count);
    }
    output.flush();
    output.close();
    input.close();
   } catch (Exception e) {
    Log.e(TAG, "run: ", e);
   }
  }
 }
다운 로드 를 시작 하면 스 레 드 를 시작 합 니 다.

new DownloadStreamThread(urlStr, targetFileAbsPath).start();
주의해 야 할 것 은 로 컬 에 파일 이 있다 면 논리 적 판단 이 필요 하 다 는 점 이다.예 를 들 어 오래된 파일 을 삭제 하고 다시 다운로드 할 지 여부 입 니 다.기 존 파일 을 판단 해 다운로드 작업 을 중단 하거나.
예 를 들 어 현재 파일 의 길이 와 비교 할 수 있 고 일치 하지 않 으 면 로 컬 파일 을 삭제 하고 다시 다운로드 할 수 있 습 니 다.
실제로 URLConnection 은 많은 스 트 리밍 을 처리 할 수 있다.오디 오 파일 을 다운로드 하 는 데 사 용 됩 니 다.다운로드 기능 과'밑 방'과 유사 한 기능 을 실현 할 수 있다.
코드 는 예제 공정 을 참고 할 수 있 습 니 다안 드 로 이 드 미디어 플레이어 오디 오 재생
총결산
위 에서 말 한 것 은 소 편 이 소개 한 안 드 로 이 드 가 URLConnection 을 사용 하여 오디 오 파일 을 다운로드 하 는 방법 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
만약 당신 이 본문 이 당신 에 게 도움 이 된다 고 생각한다 면,전 재 를 환영 합 니 다.번 거 로 우 시 겠 지만 출처 를 밝 혀 주 십시오.감사합니다!

좋은 웹페이지 즐겨찾기