.NET MAUI
一种 Microsoft 开源框架,用于构建跨移动设备、平板电脑、台式机的原生设备应用程序。
41 个问题
我可以使用 CommunityToolkit.Maui.MediaElement 在 XAML 中播放音频文件。我知道这个控件也可以播放视频,但我的需求只是在后面的代码中播放提示音频。我尝试了以下方法,但没有任何反应。
MediaElement mediaPlayer;
mediaPlayer ??= new MediaElement()
{
Speed = 1,
Source = MediaSource.FromResource("Alert.mp3"), /* Resouces\Raw\Alert.mp3 */
ShouldAutoPlay = false,
ShouldShowPlaybackControls = false,
ShouldMute = false,
Volume = 0.95
};
mediaPlayer.Play();
如果将 mediaPlayer 放在 XAML 中,则一切按预期工作。 MediaElement 似乎不喜欢在隐藏代码中创建的对象。
我是否错误地使用它?有解决方法吗?
你好,
MediaElement
是一个控件,因此必须位于布局中才能正常工作。
如果不想在 xaml 中声明 MediaElement
,可以参考以下代码:
//in xaml
<VerticalStackLayout x:Name="myStack"
...
</VerticalStackLayout>
// code-behind
MediaElement mediaPlayer;
mediaPlayer = new MediaElement()
{
Speed = 1,
IsVisible = false,
Source = MediaSource.FromResource("alert.mp3"), /* Resouces\Raw\Alert.mp3 */
ShouldAutoPlay = false,
ShouldShowPlaybackControls = false,
ShouldMute = false,
Volume = 0.95
};
myStack.Add(mediaPlayer);
mediaPlayer.Play();
myStack.Remove(mediaPlayer);
如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。