如何在应用程序后台初始化UrhoSharp?

时间:2019-01-16 20:57:04

标签: c# urhosharp

我正在尝试在Xamarin应用程序中使用UrhoSharp播放声音,但SoundSource似乎需要初始化Urho,并且我不能没有错误地初始化Urho。

这是我要运行的代码

public void PlayTestUrho()
    {
        using (System.IO.Stream wav_stream = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(wav_file_name))
        using (System.IO.MemoryStream mem_stream = new System.IO.MemoryStream())
        {
            wav_stream.CopyTo(mem_stream);
            Node node = new Node();
            SoundSource src = node.CreateComponent<SoundSource>();
            BufferedSoundStream soundStream = new BufferedSoundStream();
            soundStream.AddData(mem_stream.ToArray());
            soundStream.SetFormat(44100, true, true);
            src.AutoRemoveMode = AutoRemoveMode.Node;
            src.Enabled = true;
            src.Panning = panning;
            src.Gain = gain;
            src.Frequency = frequency;
            src.Play(soundStream);
        }
    }

但是,当我运行它时,出现以下错误消息

  

Urho.Application尚未启动。所有的urho物品都应   在app.Run()之后初始化,因为它们需要活动的上下文。

我尝试在App.xaml.cs构造函数中添加第Urho.Application.CreateInstance(typeof(Urho.SimpleApplication)).Run();行(我能找到的最接近Urho.app.Run()的行),但是该行给了我此错误消息

  

无法初始化SDL子系统:应用程序未初始化   正确地,您是否在包含您的文件的文件中包括SDL_main.h   主功能?。您可以通过订阅以下内容来忽略此例外   Urho.Application.UnhandledException事件,并将Handled属性设置为   是的。

我能找到的唯一帮助是SoundSynthesis示例,但似乎所有示例都假定所有样板程序开销都已得到处理。 (我也可能是错误地载入了wav文件,但在让Urho尝试播放该文件后,我可能会为此担心)

0 个答案:

没有答案