音频在移动应用中有很多用途。对你的应用程序来说,声音是必不可少的;他们可以通知重要事件的用户,或者让你的应用程序对视障用户开放。我们也可以使用声音来帮助我们的应用程序传达情绪、意图或感觉。事实上,许多公司包括歌曲或声音作为其品牌的一部分。
包括跨平台应用程序的音频意味着调用特定于平台的代码。UWP,Android,和iOS都拥有强大的,但不同的API来管理和播放声音。作为跨平台的C #开发者,我们希望选择一个通用的API,可以从共享位置加载音频数据。
Xam.Plugin.SimpleAudioPlayer
开源simpleaudioplayer插件提供了一个跨平台的C # API,可用于加载和播放音频文件在Windows UWP,Xamarin。Android,xamarin.ios,xamarin.tvos,和Xamarin.mac项目。
xam.plugin.simpleaudioplayer可从nuget.org。开始的时候,添加NuGet包到每个平台的具体项目要支持。如果您正在使用来自共享库(如.NET标准库或PCL)的插件,请将该包添加到库中。
可以向特定于平台的项目或共享库添加音频文件。如果存储在特定于平台的项目中,这些文件将位于标准位置。Windows UWP和Android,放置文件的文件夹的生成操作设置为内容和Android资产分别。
对于iOS、MacOS和TVOS,将音频文件在资源文件夹,确保生成操作设置为bundleresource。
音频文件然后按名称加载:
点击(此处)折叠或打开
- var player = Plugin.SimpleAudioPlayer.CrossSimpleAudioPlayer.Current;
- player.Load("intro_sound.mp3");
在从共享库加载音频时,将生成操作设置为嵌入资源。
存储在共享库中的文件在装入插件之前被加载到流中:
点击(此处)折叠或打开
- var assembly = typeof(App).GetTypeInfo().Assembly;
- Stream audioStream = assembly.GetManifestResourceStream("YourSharedAssemblyName." + "yoursound.wav");
-
-
- var player = Plugin.SimpleAudioPlayer.CrossSimpleAudioPlayer.Current;
- player.Load(audioStream);
您通过调用Play方法开始播放。
点击(此处)折叠或打开
- player.Play();
simpleaudioplayer提供方法和属性来控制音频播放,包括停止、暂停的能力,寻求,设置音量和平衡。
同时播放多个声音
如果你需要玩一个以上的声音,simpleaudioplayer插件提供了一个创建对象的工厂方法isimpleaudioplayer。每个对象都可以独立加载和播放音频。
点击(此处)折叠或打开
- var alertSound = CrossSimpleAudioPlayer.CreateSimpleAudioPlayer();
- var warningSound = CrossSimpleAudioPlayer.CreateSimpleAudioPlayer();
- var clickSound = CrossSimpleAudioPlayer.CreateSimpleAudioPlayer();
- var submitSound = CrossSimpleAudioPlayer.CreateSimpleAudioPlayer();
-
- alertSound.Load(...);
- warningSound.Load(...);
- ...
- alertSound.Play();
- ...
对于同步播放的一个例子,看跨平台druminator示例应用程序在这里。
simpleaudioplayer是开源的;如果你想要的功能,你可以在GitHub上的文件的一个问题,或者更好的,做出的改变和提交pull请求。
延伸阅读
Xamarin和Xamarin。形式有一个很好的插件社区。找到其他伟大的插件,访问https://github.com/xamarin/xamarincomponents。您甚至可以找到其他音频插件来执行任务,例如将文本转换成语音和录制音频。
如果你在学习更多关于特定平台的API来播放音频感兴趣,我们在developer.xamarin.com优秀的文档。看看druminator APP所建,在这里观看Xamarin大学研讨会。
和学习更多关于Xamarin开发,一定要看看我们的免费课程可在university.xamarin.com。更好的是,注册访问所有Xamarin大学的自我导向学习课程免费试用!