用我们之前写的MediaElement
SoundPlayerTest.axaml代码
<Window xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" Height="300" Width="300" x:Class="AvaloniaUI.SoundPlayerTest" Title="SoundPlayerTest"> <StackPanel HorizontalAlignment="Center" Spacing="5"> <Button Click="CmdPlayAudio_Click">Play Audio Synchronously</Button> <Button Click="CmdPlayAudioAsync_Click">Play Audio Asynchronously</Button> <MediaElement x:Name="media1" IsVisible="False"/> <MediaElement x:Name="media2" IsVisible="False"/> </StackPanel> </Window>
SoundPlayerTest.axaml.cs代码
using Avalonia;
using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.Markup.Xaml;
using System;
namespace AvaloniaUI;
public partial class SoundPlayerTest : Window
{
public SoundPlayerTest()
{
InitializeComponent();
// 示例:放一个音频文件路径 / URL
media1.Source = new Uri("avares://AvaloniaUI/Resources/Sounds/test.mp3");
media2.Source = new Uri("avares://AvaloniaUI/Resources/Sounds/test.wav");
}
private void CmdPlayAudio_Click(object sender, RoutedEventArgs e)
{
media1.Play();
}
private async void CmdPlayAudioAsync_Click(object sender, RoutedEventArgs e)
{
await media2.PlayAsync();
}
}
运行效果

浙公网安备 33010602011771号