【发布时间】:2023-02-16 13:50:46
【问题描述】:
我想在我的移动应用程序(android 和 IOS)上播放声音 我在某些情况下播放声音。我该怎么做?
【问题讨论】:
-
GERald Versius 最近有一段视频解释了如何做到这一点
我想在我的移动应用程序(android 和 IOS)上播放声音 我在某些情况下播放声音。我该怎么做?
【问题讨论】:
使用 2 个插件轻松在 MAUI 应用程序中播放音频:在 NuGet 包管理器中安装以下并在安装后使用依赖注入!
【讨论】:
目前,Maui 没有任何音频播放框架。在 maui 中有一些相对已知的问题,您可以在这里关注它们:
https://github.com/dotnet/maui/issues/7152。
https://github.com/CommunityToolkit/Maui/issues/113
感谢您对 maui 的反馈和支持。
【讨论】:
.NET Maui(2023 年 2 月),仍在 VS2022 上预览。
还有另一种在 .NET MAUI 中播放音频/视频 (mp3/mp4) 的方法:媒体元素控制 Communitytoolkit (CommunityToolkit.Maui.MediaElement),支持 Android/iOS/Windows/Tizen/Mac。使用 NUGet 安装。
使用 BuildAction=MauiAsset 将本地文件放入“Resources/Raw”
在 contentPage 中 (xaml/c#)
<toolkit:MediaElement x:Name="correctMediaElement" IsVisible="false"
Source="embed://crrect_answer2.mp3" />
internal static void PlaySound(MediaElement me)
{
var preset = MauiProgram.Preset;
if (me.CurrentState != CommunityToolkit.Maui.Core.Primitives.MediaElementState.Stopped &&
me.CurrentState != CommunityToolkit.Maui.Core.Primitives.MediaElementState.Paused)
{
me.Stop();
}
if (preset != null)
{
switch (preset.BuzzerVolume)
{
case Volume.Off:
me.Volume = 0.0;
break;
case Volume.Low:
me.Volume = 0.2;
break;
case Volume.Medium:
me.Volume = 0.7;
break;
case Volume.High:
me.Volume = 1.0;
break;
default:
break;
}
}
if (me.Position != TimeSpan.Zero)
{
//Will Play sound here
me.SeekTo(TimeSpan.Zero);
}
else if (me.CurrentState != CommunityToolkit.Maui.Core.Primitives.MediaElementState.Playing)
{
me.Play();
}
}
【讨论】: