gpt4 book ai didi

xamarin - 如何在 Xamarin.Forms 中播放系统声音

转载 作者:行者123 更新时间:2023-12-02 17:33:40 25 4
gpt4 key购买 nike

我正在寻找轻量级内置系统跨平台声音播放器。可能会发出类似System.Console.Beep之类的蜂鸣声的东西我可以直接从我的 View 模型调用它。

我知道我可以使用提供者(策略)模式来创建平台特定的实现或使用一些媒体播放器,例如 XamarinMediaManager .

最佳答案

您可以使用依赖服务

安卓

public class AudioService : IAudio
{

private MediaPlayer _mediaPlayer;

public bool PlayFile()
{
_mediaPlayer = MediaPlayer.Create(global::Android.App.Application.Context, Resource.Raw.test);
_mediaPlayer.Start();

return true;
}

}

IOS

public class AudioService : IAudio
{

private AVAudioPlayer _ringtoneAudioPlayer;
public AudioService()
{
_ringtoneAudioPlayer = AVAudioPlayer.FromUrl(NSUrl.FromFilename("call.caf"));
_ringtoneAudioPlayer.NumberOfLoops = -1; // infinite
}

public void PlayFile()
{
if (_ringtoneAudioPlayer != null)
{
_ringtoneAudioPlayer.Stop();
}
_ringtoneAudioPlayer.Play();
}
}

UWP

public class AudioService : IAudio
{

public async Task PlayAudioUWP(string fileName)
{
StorageFolder Folder = await Package.Current.InstalledLocation.GetFolderAsync("Assets");
StorageFile sf = await Folder.GetFileAsync(fileName);
var PlayMusic = new MediaElement();
PlayMusic.AudioCategory = Windows.UI.Xaml.Media.AudioCategory.Media;
PlayMusic.SetSource(await sf.OpenAsync(FileAccessMode.Read), sf.ContentType);
PlayMusic.Play();
}

}

如果你愿意,可以尝试这个插件

https://www.nuget.org/packages/XamarinAudioManager/

关于xamarin - 如何在 Xamarin.Forms 中播放系统声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43185359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com