Я пытаюсь включить аудио в моем приложении Xamarin.Forms. Я хочу, чтобы аудиофайлы находились в Subfolder
в папке Assets
, например: Assets/Subfolder/Audio.mp3
. Я обнаружил плагин SimpleAudioPlayer , который служит примером. Следующий код работает, как указано.
var player = Plugin.SimpleAudioPlayer.CrossSimpleAudioPlayer.Current;
player.Load("Audio.mp3");
Теперь я хочу поместить аудиофайл в подпапку, и я попытался вызвать
player.Load("Subfolder/Audio.mp3");
Но я получил Java.IO.FileNotFoundException
Я посмотрелзатем в реализации функции Load и я нашел следующий код
public bool Load(string fileName)
{
player.Reset();
AssetFileDescriptor afd = Android.App.Application.Context.Assets.OpenFd(fileName);
player?.SetDataSource(afd.FileDescriptor, afd.StartOffset, afd.Length);
return PreparePlayer();
}
, где filename
вставляется в функцию Assets.OpenFd()
. который возвращает AndroidFileDesriptor
Документация на самом деле не предоставляет никакой информации от Microsoft и от сайта Android . У меня вопросы
- Как получить файл из подпапки в Android-активах?
- Что я могу вставить в функцию Assets.OpenFd () (подпапки и т. Д.)?
Буду признателен за любой совет, так как после долгих попыток решить его у меня на самом деле нет идеи.