#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 просмотров никто не ответил?