Как создать список воспроизведения для всех файлов в папке?

Я хочу использовать зомби, беги! и поэтому нужна музыка, организованная в плейлист. Обычно я играю по альбомам или папкам, поэтому мне никогда не приходилось делать это раньше.

Я хочу скопировать папку с музыкой на телефон (используя ftp), а затем создать список воспроизведения, содержащий все эти файлы (без необходимости выбирать их вручную). Для меня также было бы нормально, если бы приложение на Android только преобразовало список воспроизведения в формате .m3u или .pls (созданный на моем компьютере) в список воспроизведения. в наборе списков воспроизведения Android.

На данный момент я нашел только приложения, которые создают файлы .m3u (которые мне не нужны) или вылетают при запуске.


1

Я знаю, что это старый, но он в лучшие результаты для «Android создает плейлист из папки», поэтому я решил добавить это:

Playlist Creator 2: https://play.google.com/store/apps/details?id = com.ksdeveloper.playlistcreator.v2

(Судя по тому, что я читал, не очень хорошая оценка проистекает из того, что разработчик не хочет объяснять, как это работает, но это действительно просто)

  1. Загрузите и откройте приложение. (Да)
  2. Вверху справа> Воспользуйтесь проводником.
  3. Перейдите к нужной папке и нажмите и удерживайте ее.
  4. Выберите «Добавить всю папку как список воспроизведения».
  5. Нажмите значок в правом верхнем углу, чтобы открыть список воспроизведения, назовите его, создайте список воспроизведения.

И вуаля, вы увидите список воспроизведения в музыкальном приложении Google и в любом обычном музыкальном проигрывателе.

Улучшите этот ответ
ответил 08 июля ’18 в 17:51
  • отличный ответ , спасибо — Fierce82 15 марта ’19 в 20:29
  • Не поддерживает вложенные папки 🙁 — Нагабхушан С.Н., 7 января 2020 г., 2:10
добавить комментарий |

Я знаю, что это устарело, но он входит в топ результатов по запросу «Android создает плейлист из папки», поэтому я думал, что добавлю это:

Создатель плейлистов 2: https://play.google.com/store/apps/details?id=com.ksdeveloper.playlistcreator.v2

(Судя по тому, что я читал, не очень хорошая оценка проистекает из желания разработчика объяснить, как это работает, но это действительно простой)

  1. Загрузите и откройте приложение. (Да)
  2. Вверху справа> Воспользуйтесь проводником.
  3. Перейдите к нужной папке и нажмите и удерживайте ее.
  4. Выберите «Добавить всю папку как список воспроизведения».
  5. Нажмите значок в правом верхнем углу, чтобы открыть список воспроизведения, назовите его, создайте список воспроизведения.

И вуаля, вы увидите список воспроизведения в музыкальном приложении Google и в любом обычном музыкальном проигрывателе.


Easy Playlist Editor позволяет фильтровать по папке, а затем сохранять совпадения в виде списка воспроизведения.


0

My Music Playlist Creator — хороший инструмент. Он также поддерживает вложенные папки. Создайте файл m3u с помощью этого приложения. Затем файл m3u можно импортировать с помощью приложения FX File Explorer.

Также ознакомьтесь с моим связанным блогом: Создание автономного списка воспроизведения музыки на Android

Улучшить этот ответ
отредактировал 25 января ’20 в 17:45
ответил 25 янв., В 17:16
добавить комментарий |

My Music Playlist Creator — хороший инструмент. Он также поддерживает вложенные папки. Создайте файл m3u с помощью этого приложения. Затем файл m3u можно импортировать с помощью приложения FX File Explorer.

Также ознакомьтесь с моим связанным блогом: Создание автономного списка воспроизведения музыки на Android


-1

Попробуйте новый менеджер списков воспроизведения, он может рекурсивно создавать списки воспроизведения из папок, чтобы у вас были все ваши треки в одном плейлисте

Улучшите этот ответ
24 нояб. 2015 в 16:04
  • Ссылка на приложение? — Манубхаргав 24 нояб., 16:16
  • 3
    Глядя на ваш профиль, я предполагаю, что вы написали это приложение. В таком случае было бы неплохо упомянуть об этом в ответе. — Тим 24 ноября ’15 в 16:21
  • 1
    Следуйте инструкциям, как не быть спамером. — Firelord ♦ 24 ноя. ’15 в 22:03
добавить комментарий |

Попробуйте новый диспетчер списков воспроизведения, он может создавать списки воспроизведения из папок рекурсивно, чтобы вы могли объединить все свои треки в один список воспроизведения



Как создать общую папку, используемую моим приложением для Android?

У меня есть вопрос, который, вероятно, граничит с мнением, но я нет никаких связанных вопросов или документации, которая дает ответы, поэтому я чувствую, что справедливо спросить. Я пытаюсь создать приложение для Android, которое изменяет музыкальные файлы, и я бы хотел создать общую папку, чтобы файлы и результаты были доступны и совместно использовались. Мне бы хотелось, чтобы он находился среди других папок, таких как «Музыка», «Загрузки», «Фильмы» и т. Д., Или даже в разделе «Музыка», поскольку он связан с музыкой. Однако это похоже на безопасность в Android, так как после того, как я что-то сделал и поместил туда, я должен использовать намерение, чтобы снова получить к нему доступ, тогда как я бы предпочел просто иметь возможность открывать файлы, а не терпят фиаско на основе разрешений. Возможно, можно было бы использовать какой-то тип символической ссылки, такой как в Linux, указывающий на внутреннюю папку моих приложений, но в этом я все еще не уверен. В любом случае, как мне это сделать? Если да, то есть ли ресурсы, на которые я мог бы указать?

Заранее благодарим всех, кто этим займется!

Edit for CommonsWare:

Для создания папки я использовал следующее: File mediaStorageDir = new File (Environment.getExternalStorageDirectory (), APP_NAME);

И это для копирования файлов из другого места туда:

  public void copyFileToHomeDirectory (Uri uri) {попробуйте {ContentResolver contentResolver = getApplicationContext (). getContentResolver ();  Строка fileName = queryName (contentResolver, uri); //Получить расширение файла String fileType = fileName.substring (fileName.length () - 4, fileName.length ());  if (fileType.equalsIgnoreCase (MP3_EXTENSION)) {Путь к строке = Environment.getExternalStorageDirectory () + APP_FOLDER;  InputStream in = contentResolver.openInputStream (uri);  Файл outputFile = новый файл (путь + File.separator + fileName);  outputFile.createNewFile ();  OutputStream out = новый FileOutputStream (outputFile); //Сначала мы открываем файл, чтобы скопировать его содержимое: byte [] buffer = new byte [KB_SIZE];  int read;  while ((чтение = in.read (буфер))! = -1) {out.write (буфер, 0, чтение);  } in.close ();  in = null; //записываем выходной файл (теперь вы скопировали файл) out.flush ();  out.close ();  out = null;  }} catch (FileNotFoundException fnfe) {Log.e (TAG, "FileNotFoundException");  Log.e (TAG, Log.getStackTraceString (fnfe));  } catch (IOException ioe) {Log.e (TAG, "IOException");  Log.e (TAG, Log.getStackTraceString (ioe));  } catch (Exception e) {Log.e (TAG, «Общее исключение»);  Log.e (TAG, Log.getStackTraceString (e));  }}  

Я пробовал другие методы, которые я перезаписал в процессе, но для доступа к файлам, которые будут использоваться снова, мне нужно что-то вроде этого:

  public void openDirectory (View view) {//Выберите каталог с помощью системного средства выбора файлов.  Намерение намерение = новое намерение (Intent.ACTION_GET_CONTENT); //Предоставляем доступ для чтения к файлам и подкаталогам в//выбранном пользователем каталоге. //intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); //intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true); //intent.addCategory(Intent. CATEGORY_OPENABLE); //Необязательно, укажите URI для каталога, который должен открываться//в системном средстве выбора файлов при его загрузке. //intent.putExtra(DocumentsContract.EXTRA_INITIAL_URI, uriToLoad);  intent.putExtra (Intent.EXTRA_ALLOW_MULTIPLE, истина);  intent.addCategory (Intent.CATEGORY_OPENABLE);  intent.setType ("*/*"); //использовать изображение/* для фотографий и т. д.//Результатом этого кода будет вызов функции onActivityResult ниже startActivityForResult (intent, REQUEST_MUSIC_DIR);}  

Edit2: I ‘ я реорганизовал папки в соответствии с тем, что, по моему мнению, я должен делать, чтобы я мог свободно работать с файлами, однако даже во внутреннем хранилище кеша (getCacheDir () + имя_папки) либо не позволяет мне создавать файлы (outputFile.createNewFile не выдает ошибку) или не позволяет мне открывать их, когда я иду за списком каталогов.

Вот мой код для создания файла:

  String path = getCacheDir () + MY_SUB_FOLDER;//uri получается через ACTION_OPEN_DOCUMENT intentInputStream in = contentResolver.openInputStream (uri); File outputFile = new File (path + "/" + fileName); outputFile.createNewFile  (); Log.i (TAG, «Новый каталог/путь к файлу:» + outputFile.getAbsolutePath ());//ПРИМЕЧАНИЕ: это возвращает/data/user/0/com.example.myapplication/cache/MY_SUB_FOLDER /имя_файла.mp3Outpu  tStream out = новый FileOutputStream (outputFile); byte [] buffer = new byte [1024]; int read; while ((read = in.read (buffer))! = -1) {out.write (buffer, 0, read  );} in.close (); in = null; out.flush (); out.close (); out = null;  

Это мой код для попытки открыть и прочтите эти вновь созданные файлы

  File directory = new File (getCacheDir (), MY_SUB_FOLDER);  Log.i (TAG, «Это каталог, из которого мы пытаемся получить файлы:» + directory.getAbsolutePath ());//ПРИМЕЧАНИЕ. Это возвращает/data/user/0/com.example.myapplication/cache /MY_SUB_FOLDER Файл [] files = directory.listFiles ();  if (files! = null) {for (int i = 0; i  

Переменная files не равна нулю, но ее длина равна 0, и файлы не найдены.

Edit3: я перехватываю исключения и регистрирую любые трассировки стека, которые в настоящее время ничего не возвращают.

  catch (FileNotFoundException fnfe) {Log.i (TAG, "FileNotFoundException");  Log.i (TAG, Log.getStackTraceString (fnfe));  } catch (IOException ioe) {Log.i (TAG, "IOException");  Log.i (TAG, Log.getStackTraceString (ioe));  } catch (Exception e) {Log.i (TAG, «Общее исключение»);  Log.i (ТЕГ, Log.getStackTraceString (e));  }  

Оцените статью
logicle.ru
Добавить комментарий