Воспроизвести MP3-файл, скачанный с помощью диспетчера загрузки - PullRequest
0 голосов
/ 21 декабря 2018

Я использовал менеджер загрузок для загрузки файла mp3, но я также хочу иметь возможность воспроизводить загруженный файл из моего приложения в activity, но я не могу этого сделать.Ниже приведен код, который я использовал для загрузки файла с сервера:

BroadcastReceiver receiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();
            if (ACTION_DOWNLOAD_COMPLETE.equals(action)) {
                long downloadId = intent.getLongExtra(
                        DownloadManager.EXTRA_DOWNLOAD_ID, 0);
                Query query = new Query();
                query.setFilterById(enqueue);
                Cursor c = dm.query(query);
                if (c.moveToFirst()) {
                    int columnIndex = c
                            .getColumnIndex(DownloadManager.COLUMN_STATUS);
                    if (DownloadManager.STATUS_SUCCESSFUL == c
                            .getInt(columnIndex)) {

                        ImageView view = (ImageView) findViewById(R.id.imageView1);
                        String uriString = c
                                .getString(c
                                        .getColumnIndex(DownloadManager.COLUMN_LOCAL_URI));
                        view.setImageURI(Uri.parse(uriString));
                    }
                }
            }
        }
    };

    registerReceiver(receiver, new IntentFilter(
            ACTION_DOWNLOAD_COMPLETE));
}

public void onClick(View view) {
    dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
    Request request = new Request(
            Uri.parse("https://eplayer.000webhostapp.com/Sleep%20Away.mp3"));
    enqueue = dm.enqueue(request);

}

public void showDownload(View view) {
    Intent i = new Intent();
    i.setAction(ACTION_VIEW_DOWNLOADS);
    startActivity(i);
}
public void audioPlayer(String path, String fileName){
    //set up MediaPlayer
    MediaPlayer mp = new MediaPlayer();
}

Код для воспроизведения и воспроизведения скачанного mp3:

 public void audioPlayer(String path, String fileName){
    //set up MediaPlayer
    MediaPlayer mp = new MediaPlayer();

    try {
        mp.setDataSource( ACTION_DOWNLOAD_COMPLETE + File.separator +"Sleep Away");
        mp.prepare();
        mp.start();
    } catch (Exception e) {
        e.printStackTrace();
}
...