加入声音到Xamarin.Forms应用中

简介: 音频在移动应用中有很多用途。对你的应用程序来说,声音是必不可少的;他们可以通知重要事件的用户,或者让你的应用程序对视障用户开放。我们也可以使用声音来帮助我们的应用程序传达情绪、意图或感觉。

音频在移动应用中有很多用途。对你的应用程序来说,声音是必不可少的;他们可以通知重要事件的用户,或者让你的应用程序对视障用户开放。我们也可以使用声音来帮助我们的应用程序传达情绪、意图或感觉。事实上,许多公司包括歌曲或声音作为其品牌的一部分。

包括跨平台应用程序的音频意味着调用特定于平台的代码。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。

音频文件然后按名称加载:

点击(此处)折叠或打开

  1. var player = Plugin.SimpleAudioPlayer.CrossSimpleAudioPlayer.Current;
  2. player.Load("intro_sound.mp3");


在从共享库加载音频时,将生成操作设置为嵌入资源。

存储在共享库中的文件在装入插件之前被加载到流中:

点击(此处)折叠或打开

  1. var assembly = typeof(App).GetTypeInfo().Assembly;
  2. Stream audioStream = assembly.GetManifestResourceStream("YourSharedAssemblyName." + "yoursound.wav");
  3.  
  4.  
  5. var player = Plugin.SimpleAudioPlayer.CrossSimpleAudioPlayer.Current;
  6. player.Load(audioStream);


您通过调用Play方法开始播放。

点击(此处)折叠或打开

  1. player.Play();


simpleaudioplayer提供方法和属性来控制音频播放,包括停止、暂停的能力,寻求,设置音量和平衡。

同时播放多个声音

如果你需要玩一个以上的声音,simpleaudioplayer插件提供了一个创建对象的工厂方法isimpleaudioplayer。每个对象都可以独立加载和播放音频。

点击(此处)折叠或打开

  1. var alertSound = CrossSimpleAudioPlayer.CreateSimpleAudioPlayer();
  2. var warningSound = CrossSimpleAudioPlayer.CreateSimpleAudioPlayer();
  3. var clickSound = CrossSimpleAudioPlayer.CreateSimpleAudioPlayer();
  4. var submitSound = CrossSimpleAudioPlayer.CreateSimpleAudioPlayer();
  5.  
  6. alertSound.Load(...);
  7. warningSound.Load(...);
  8. ...
  9. alertSound.Play();
  10. ...


对于同步播放的一个例子,看跨平台druminator示例应用程序在这里。

simpleaudioplayer是开源的;如果你想要的功能,你可以在GitHub上的文件的一个问题,或者更好的,做出的改变和提交pull请求。

延伸阅读

Xamarin和Xamarin。形式有一个很好的插件社区。找到其他伟大的插件,访问https://github.com/xamarin/xamarincomponents。您甚至可以找到其他音频插件来执行任务,例如将文本转换成语音和录制音频。

如果你在学习更多关于特定平台的API来播放音频感兴趣,我们在developer.xamarin.com优秀的文档。看看druminator APP所建,在这里观看Xamarin大学研讨会。

和学习更多关于Xamarin开发,一定要看看我们的免费课程可在university.xamarin.com。更好的是,注册访问所有Xamarin大学的自我导向学习课程免费试用!

目录
相关文章
|
6月前
|
Java 数据库 C#
C#winforms实现windows窗体人脸识别
C#winforms实现windows窗体人脸识别
|
Web App开发 Android开发 Windows
用Xamarin.Forms创建移动应用程序
——针对iOS,Android和Windows的跨平台C#编程慢慢的准备翻译这本书。官方发布的第一版。一边翻译一边学习。 第一章:第一部分,http://blog.chinaunix.
819 0
|
Android开发 iOS开发
【Xamarin.Forms】Xamarin.Forms 2.5.0中本体系Forms的发光之处
自从6月份我们预览了Native Forms以来,我们一直在努力平衡这些不足之处,并通过修复错误并整合来自社区的优秀反馈来为Xamarin.Forms 2.5.0打磨它。
1741 0
|
Android开发 Windows
【Xamarin.Forms】Xamarin.Forms的XAML预览器——查看您输入的Xamarin.Forms布局!
要求 项目需要使用最新的Xamarin.Forms NuGet包来使XAML预览器正常工作。 预览Android应用程序需要JDK 1.8 x64。发行说明中有更多信息。
2128 0
|
安全 iOS开发
用Xamarin.Forms让iOS 11变得更容易
iOS 11引入了一些您可能想要利用的新的视觉设计更新,包括安全区域布局指南和大型标题。 对于Xamarin.iOS开发人员,我们最近发布了一个iOS 11指南,用于更新您的Xamarin.iOS应用程序和安全区域和大型文章的文章。
1362 0
你好,Xamarin.Forms多屏幕
使用Xamarin.Forms处理导航 本指南扩展了在Hello,Xamarin.Forms指南中创建的Phoneword应用程序,以导航到第二个屏幕。 涵盖的主题包括页面导航和数据绑定到集合。
841 0