【问题标题】:My SFML application crash?我的 SFML 应用程序崩溃?
【发布时间】:2016-07-22 21:43:33
【问题描述】:

我在我的 Mac 上使用 SFML 和 Xamarin Studio 用 C# 编写一个用于录制音频输入麦克风的应用程序。看代码:

using System;
using Gtk;
using SFML;
using SFML.Audio;
using SFML.System;

public partial class MainWindow: Gtk.Window
{
    public MainWindow () : base (Gtk.WindowType.Toplevel)
    {
        Build ();
    }

    protected void OnDeleteEvent (object sender, DeleteEventArgs a)
    {
        Application.Quit ();
        a.RetVal = true;
    }

    static SoundBufferRecorder recorder;


    protected void OnButton2Clicked (object sender, EventArgs e)
    {
        recorder.Start (44110);
    }

    protected void OnButton3Clicked (object sender, EventArgs e)
    {
        recorder.Stop ();
        SoundBuffer sf = recorder.SoundBuffer;
        sf.SaveToFile ("audio.mp3");
    }

    protected void OnButton1Clicked (object sender, EventArgs e)
    {
        Sound sound = new Sound (recorder.SoundBuffer);
        sound.Play ();
    }
}

当我点击 OnButton3Clicked... 我的应用程序无故崩溃,为什么?

【问题讨论】:

    标签: c# sfml


    【解决方案1】:

    您从未真正实例化您的记录器:

    static SoundBufferRecorder recorder;
    

    这意味着记录器是null,您将收到“对象未设置为实例”-错误。

    static SoundBufferRecorder recorder = new SoundBufferRecorder();
    

    【讨论】:

      猜你喜欢
      • 2016-04-23
      • 1970-01-01
      • 1970-01-01
      • 2012-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-26
      相关资源
      最近更新 更多