Медиаплеер и внешнее хранилище

#android-mediaplayer #android-download-manager #android-external-storage

Вопрос:

Я новичок в программировании на Android, я пытаюсь создать исламское приложение, которое будет реализовывать аудио-и видеофайлы. Прямо сейчас я застрял с аудиофайлами .. У меня есть действие, которое реализует mediaplayer, я хочу, чтобы при загрузке действия в хранилище SD-карты просматривался аудиофайл, если он найден, то воспроизводил его, если нет, то буферизовал его с URL-адреса, другой вариант-загрузить файл и сохранить его во внешнем хранилище .. Это мой код для загрузки fie и сохранения его на SD — карте: 1-При попытке загрузки он запрашивает разрешение на запись на SD-карту, затем создает папку для сохранения файлов в ней:

 public void onClick(View v) {
            path = "/Audio/001";
            if (ActivityCompat.checkSelfPermission(New_Abdulazeez.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) ==
            PackageManager.PERMISSION_GRANTED) {
                createFolder();
            } else {
                ActivityCompat.requestPermissions(New_Abdulazeez.this, new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE}, 100);
            }
        }

       @Override
public void onRequestPermissionsResult(int requestCode, @NonNull @NotNull String[] permissions, @NonNull @NotNull int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    if (requestCode == 100 amp;amp; (grantResults.length > 0) amp;amp; (grantResults[0] == PackageManager.PERMISSION_GRANTED)) {
        createFolder();
    } else {
        Toast.makeText(New_Abdulazeez.this, "Permission Denied", Toast.LENGTH_SHORT).show();
    }
}
 

2 — Я создаю папку на SD-карте:

 private void createFolder() {
    File folder = new File(getExternalFilesDir(null), path);
    if (folder.exists()) {
        Toast.makeText(New_Abdulazeez.this, "Folder already exists", Toast.LENGTH_SHORT).show();
    } else {
        folder.mkdirs();
        if (folder.isDirectory()) {
if (suraName.getText().equals("Al-Fatihah")) {
                    url = "https://media.blubrry.com/muslim_central_quran/podcasts.qurancentral.com/abdel-aziz-al-ahmed/abdel-aziz-al-ahmed-001.mp3";
                    title = "001";
                } else if (suraName.getText().equals("Al-Baqarah")) {
                    url = "https://media.blubrry.com/muslim_central_quran/podcasts.qurancentral.com/abdel-aziz-al-ahmed/abdel-aziz-al-ahmed-002.mp3";
                    title = "002";
                } else if (suraName.getText().equals("Aal-E-Imran")) {
                    url = "https://media.blubrry.com/muslim_central_quran/podcasts.qurancentral.com/abdel-aziz-al-ahmed/abdel-aziz-al-ahmed-003.mp3";
                    title = "003";
                } else if (suraName.getText().equals("An-Nisa'")) {
                    url = "https://media.blubrry.com/muslim_central_quran/podcasts.qurancentral.com/abdel-aziz-al-ahmed/abdel-aziz-al-ahmed-004.mp3";
                    title = "004";
                } else if (suraName.getText().equals("Al-Ma'idah")) {
                    url = "https://media.blubrry.com/muslim_central_quran/podcasts.qurancentral.com/abdel-aziz-al-ahmed/abdel-aziz-al-ahmed-005.mp3";
                    title = "005";
                } else if (suraName.getText().equals("Al-An'am")) {
                    url = "https://media.blubrry.com/muslim_central_quran/podcasts.qurancentral.com/abdel-aziz-al-ahmed/abdel-aziz-al-ahmed-006.mp3";
                    title = "006";
                } else if (suraName.getText().equals("Al-A'raf")) {
                    url = "https://media.blubrry.com/muslim_central_quran/podcasts.qurancentral.com/abdel-aziz-al-ahmed/abdel-aziz-al-ahmed-007.mp3";
                    title = "007";
                } else if (suraName.getText().equals("Al-Anfal")) {
                    url = "https://media.blubrry.com/muslim_central_quran/podcasts.qurancentral.com/abdel-aziz-al-ahmed/abdel-aziz-al-ahmed-008.mp3";
                    title = "008";
                } else if (suraName.getText().equals("At-Tawbah")) {
                    url = "https://media.blubrry.com/muslim_central_quran/podcasts.qurancentral.com/abdel-aziz-al-ahmed/abdel-aziz-al-ahmed-009.mp3";
                    title = "009";
                } else if (suraName.getText().equals("Yunus")) {
                    url = "https://media.blubrry.com/muslim_central_quran/podcasts.qurancentral.com/abdel-aziz-al-ahmed/abdel-aziz-al-ahmed-010.mp3";
                    title = "010";
                }
                DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
                DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
                request.setTitle(title);
                request.setDescription("Downloading File, Please wait .....");
                request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
                //request.setDestinationInExternalFilesDir(New_Abdulazeez.this, path, title);
                dm.enqueue(request);
                Toast.makeText(New_Abdulazeez.this, "Downloading Started ...", Toast.LENGTH_SHORT).show();
                FileOutputStream fos = null;
                File file = new File(folder, title   ".mp3");
                try {
                    fos = new FileOutputStream(file);
                    fos.flush();
                    fos.close();
                } catch (java.io.IOException e) {
                    e.printStackTrace();
                }
 

Я хочу, чтобы моя программа, когда начнется действие, проверила папку reciter, созданную в разделе загрузки на SD-карте, Если она найдена, то ищет имя, Если найдена, то загружает его в mediaplayer .. В противном случае, чтобы начать буферизацию с URL-адреса, предоставленного с помощью кода

Комментарии:

1. 11 просмотров никто не ответил?