Мне нужно воспроизвести простой звуковой сигнал. После долгих исследований это кажется одним из лучших и простых способов.
Принятый ответ здесь. как воспроизвести аудиофайл - .NET MAUI
и
https://learn.microsoft.com/en-us/dotnet/communitytoolkit/maui/views/mediaelement?tabs=windows
Я создал новый проект и выполнил его. Но когда я пытаюсь добавить ссылку на CommunityToolkit.Maui.MediaElement (версия 4.10) он не устанавливается. https://www.nuget.org/packages/CommunityToolkit.Maui.MediaElement
Ссылка на добавление находит его и действует так, как будто устанавливает его. Окна вывода показывают это.
Restoring packages for C:\Projects\TestApp\TestApp\TestApp.csproj...
CACHE https://api.nuget.org/v3/vulnerabilities/index.json
CACHE https://api.nuget.org/v3-vulnerabilities/2024.08.29.05.32.17/vulnerability.base.json
CACHE https://api.nuget.org/v3-vulnerabilities/2024.08.29.05.32.17/2024.09.04.05.32.39/vulnerability.update.json
NU1605: Warning As Error: Detected package downgrade: Microsoft.Maui.Controls from 8.0.71 to 8.0.61. Reference the package directly from the project to select a different version.
TestApp -> CommunityToolkit.Maui.MediaElement 4.1.0 -> Microsoft.Maui.Controls (>= 8.0.71)
TestApp -> Microsoft.Maui.Controls (>= 8.0.61)
Package restore failed. Rolling back package changes for 'TestApp'.
Time Elapsed: 00:00:01.3859624
========== Finished ==========
Думаю, в этом проблема. «Ссылка на пакет непосредственно из проекта, чтобы выбрать другую версию».
Я нашел это «Предупреждение NuGet NU1605», но до сих пор не знаю, что делать, чтобы решить эту проблему.
https://learn.microsoft.com/en-us/nuget/reference/errors-and-warnings/nu1605
Как мне установить этот пакет или есть ли лучший способ воспроизвести простой звуковой сигнал?
private void OnButtonClicked(object sender, EventArgs e)
{
var instance = Microsoft.Maui.ApplicationModel.Platform.CurrentActivity;
Android.Net.Uri uri = RingtoneManager.GetDefaultUri(RingtoneType.Notification);
Ringtone rt = RingtoneManager.GetRingtone(instance.ApplicationContext, uri);
rt.Play();
}
Также обратитесь к документу по элементу мультимедиа: https://learn.microsoft.com/en-us/dotnet/communitytoolkit/maui/views/mediaelement?tabs=android
вы пробовали этот способ? putridparrot.com/blog/…
Компиляция выдает: имя «_deviceAudioService» не существует в текущем контексте.
Я заработал с помощью этого плагина github.com/jfversluis/Plugin.Maui.Audio это очень просто var audioPlayer = AudioManager.Current.CreatePlayer(await FileSystem.OpenAppPackageFileAsync(TheSound)); audioPlayer.Play();
Исследование вашего последнего ответа привело меня к этому. Спасибо!
Приятно видеть. Благодарен за то, что поделились своим решением.
Каков правильный оператор использования для этого кода? При компиляции я получаю сообщение «Имя RingtoneManager не существует в текущем контексте» и исследую Learn.microsoft.com/en-us/dotnet/api/… говорит Пространство имен: «Android.Media», а затем добавляю с помощью Android.Медиа; Выдает тип или имя пространства имен «Android» не удалось найти??