Я пытаюсь создать файл M3U музыкальных файлов в системе в кроссплатформенном приложении Avalonia. На рабочем столе (Windows) это достаточно просто: запишите пути к файлам в файл M3U и откройте его, например, в VLC, чтобы воспроизвести. Однако на Android я получаю URI content://, которые не работают в M3U на Android. Проверяя, как VLC делает это при сохранении списка воспроизведения, он фактически хранит файлы ///storage/emulated/0/... (фактические пути к файлам), которые VLC с удовольствием воспроизводит (пока файлы существуют и VLC, конечно, имеет разрешения на чтение).
Я пробовал все методы IStorageItem, IStorageProvider, IStorageBookmarkItem, но преобразования из одного в другое.
Как это сделать, нужно ли каким-то образом преобразовать URI content:// в URI ///storage? Возможно, использовать встроенные функции Android? Или я думаю не в том направлении?
Итак:
Код: Выделить всё
var files = await storageProvider.OpenFilePickerAsync(new FilePickerOpenOptions {
Title = title,
AllowMultiple = false,
FileTypeFilter = fileTypes,
SuggestedFileType = suggestedFileType,
SuggestedFileName = suggestedFilename,
SuggestedStartLocation = storageFolder,
});
Мобильная версия