微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Xamarin中播放声音

如何解决在Xamarin中播放声音

因此,我正在使用Xamarin表单在Visual Studio中开发适用于Android和iOS的应用程序,我需要一个按钮来播放声音,但是当我按下按钮时,我遇到了一个问题:“ system.argumentnullexception已被引发”,而我没有“流”值,但我真的看不到缺少的地方。 这是我的代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;

namespace PrototypeII
{
    public partial class MainPage : ContentPage
    {
        Button panic;
        Button settings;
        Button relax;
        public MainPage()
        {
            InitializeComponent();

            BackgroundColor = Color.LightGray;

            panic = new Button
            {
                Margin = new Thickness(10),FontSize = 30,BackgroundColor = Color.Red,Text = "Panic",TextColor = Color.Black,};

            panic.Clicked += panic_clicked;

            relax = new Button
            {
                Margin = new Thickness(10),BackgroundColor = Color.GreenYellow,Text = "Tchill",};

            settings = new Button
            {
                Margin = new Thickness(10),FontSize = 20,Text = "..."
            };

            var Grid = new Grid
            {
                Margin = new Thickness(20,40),ColumnDeFinitions =
                {
                    new ColumnDeFinition { Width = new GridLength(1,GridUnitType.Star) },new ColumnDeFinition { Width = new GridLength(1,},RowDeFinitions =
                {
                    new RowDeFinition { Height = new GridLength(0.5,GridUnitType.Star)},new RowDeFinition { Height = new GridLength(1,}



            };

            Grid.Children.Add(settings,3,0);

            Grid.Children.Add(panic,1);
            Grid.SetColumnSpan(panic,2);

            Grid.Children.Add(relax,2,2);
            Grid.SetColumnSpan(relax,2);

            Content = Grid;
        }

        private void panic_clicked(object sender,EventArgs e)
        {
            var assembly = typeof(App).GetTypeInfo().Assembly;

            Stream audioStream = assembly.GetManifestResourceStream("PrototypeII.123.mp3");

            var audio = Plugin.SimpleAudioPlayer.CrossSimpleAudioPlayer.Current;

            audio.Load(audioStream);

            audio.Play();
        }
    }
}

如果您能告诉我如何解决此问题,或者...一种更简单的方法,请告诉我。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。