Создание файла M3U с помощью кроссплатформенной Avalonia (Windows и Android)C#

Место общения программистов C#
Ответить
Anonymous
 Создание файла M3U с помощью кроссплатформенной Avalonia (Windows и Android)

Сообщение Anonymous »

Я не могу уложиться в этом, и Google также не дал мне правильного ответа (или это настолько очевидно, что я все время его пропускаю).
Я пытаюсь создать файл 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,
});
дает мне файлы[0], которые являются экземпляром IStorageFile, который на Android является URI content://, когда я выбираю музыкальный файл. Что мне нравится конвертировать в реальный путь к файлу на Android, если это правильный способ сделать это.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»