I want to play a sound on my mobile application (for android and iOS) in certain circumstances. How can I do it?
There is way to play audio/video (mp3/mp4) in .NET MAUI: MediaElement control of Communitytoolkit with support for Android/iOS/Windows/Tizen/Mac.
Use NuGet to install, search for 'CommunityToolkit.Maui.MediaElement'.
Put local files in "Resources/Raw" with BuildAction=MauiAsset
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Inside a contentPage (xaml/c#)
<toolkit:MediaElement x:Name="correctMediaElement" IsVisible="false"
Source="embed://crrect_answer2.mp3" />
internal static void PlaySound()
{
if (correctMediaElement.CurrentState != CommunityToolkit.Maui.Core.Primitives.MediaElementState.Stopped &&
correctMediaElement.CurrentState != CommunityToolkit.Maui.Core.Primitives.MediaElementState.Paused)
{
correctMediaElement.Stop();
}
if (correctMediaElement.Position != TimeSpan.Zero)
{
//Will Play sound here
correctMediaElement.SeekTo(TimeSpan.Zero);
}
else if (correctMediaElement.CurrentState != CommunityToolkit.Maui.Core.Primitives.MediaElementState.Playing)
{
correctMediaElement.Play();
}
}
for more information:
MediaElement doc
DevBlogs.Microsoft.com