Как воспроизводить аудио на Android с помощью форм Xamarin? У меня есть следующая служба, она работает, но Forms.Context
устарела с сообщением «Контекст устарел с версии 2.5. Пожалуйста, используйте вместо этого локальный контекст».
[assembly: Dependency(typeof(AudioService))]
namespace SensaLabScan.Droid.Services
{
public class AudioService : IAudioService
{
private readonly MediaPlayer _mediaPlayer = new MediaPlayer();
public void PlayBeep()
{
_mediaPlayer.Reset();
// Forms.Context references the Activity which calls Forms.Init, i.e. MainActivity.
using (var beepFile = Forms.Context.Assets.OpenFd("beep.mp3"))
{
_mediaPlayer.SetDataSource(beepFile);
_mediaPlayer.Prepare();
_mediaPlayer.Start();
}
}
}
}
Что является альтернативой устарела Forms.Context
в этом сценарии? Я пытался
Android.App.Application.Context.Assets.OpenFd("beep.pm3");
, но это вызывает исключение файла не найден - Использование
MainActivity
в качестве контекста и использование Assets
из этого, но снова ошибка: файл не найден.
Файлы mp3, которые я хочу прочитать, находятся в папке «Ресурсы» и помечены как AndroidAsset .
.