Пример #1
0
    IEnumerator Start()
    {
        AudioSettings.speakerMode      = AudioSpeakerMode.Mono;
        AudioSettings.outputSampleRate = 44100;
        AudioSettings.SetDSPBufferSize(320, 4);
        yield return(null);

        _audio = GetComponent <AudioSource>();

        yield return(null);

        microphoneList.Clear();
        foreach (var device in Microphone.devices)
        {
            microphoneList.Add(device);
        }

        for (int i = 0; i < Microphone.devices.Length; i++)
        {
            if (Microphone.devices[i].Equals("Microphone (Realtek(R) Audio)") || Microphone.devices[i].Equals("麥克風排列 (Realtek(R) Audio)"))
            {
                GetDevicesIndex = i;
            }
        }

        yield return(null);

        InitMic();
    }
Пример #2
0
        void Awake()
        {
#if UNITY_STANDALONE_OSX && UNITY_PRO_LICENSE
            var sampleRate = AudioSettings.outputSampleRate;

            // Create an audio source.
            audioSource             = gameObject.AddComponent <AudioSource>();
            audioSource.playOnAwake = false;
            audioSource.loop        = true;

            // Initialize the Lasp module.
            Lasp.Initialize();

            // Shrink the DSP buffer to reduce latency.
            AudioSettings.SetDSPBufferSize(bufferSize, 4);

            // Create a null clip and kick it.
            audioSource.clip = AudioClip.Create("Lasp", 1024, 1, sampleRate, false, false);
            audioSource.Play();

            // Estimate the latency.
            estimatedLatency = (float)bufferSize / sampleRate;
#else
            Debug.LogWarning("NativeAudioInput is not supported in the current configuration.");
#endif
        }
Пример #3
0
    static int SetDSPBufferSize(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 2);
        int arg0 = (int)LuaScriptMgr.GetNumber(L, 1);
        int arg1 = (int)LuaScriptMgr.GetNumber(L, 2);

        AudioSettings.SetDSPBufferSize(arg0, arg1);
        return(0);
    }
Пример #4
0
    void Awake()
    {
        var sampleRate = AudioSettings.outputSampleRate;

        // Create an audio source.
        audioSource             = gameObject.AddComponent <AudioSource>();
        audioSource.playOnAwake = false;
        audioSource.loop        = true;

#if UNITY_STANDALONE_OSX && UNITY_PRO_LICENSE
        // Initialize the Lasp module.
        Lasp.Initialize();

        // Shrink the DSP buffer to reduce latency.
        AudioSettings.SetDSPBufferSize(bufferSizeInLaspMode, 4);

        // Create a null clip and kick it.
        audioSource.clip = AudioClip.Create("(null)", 1024, 1, sampleRate, false, false);
        audioSource.Play();

        // Display some info.
        var latency = 1000.0f * bufferSizeInLaspMode / sampleRate;
        Debug.Log("Low-latency mode (latency=" + latency + "msec)");
#else
        // Create a clip which is assigned to the default microphone.
        int minFreq, maxFreq;
        Microphone.GetDeviceCaps(null, out minFreq, out maxFreq);
        audio.clip = Microphone.Start(null, true, 1, minFreq > 0 ? minFreq : 44100);

        if (audio.clip != null)
        {
            // Wait until the microphone gets initialized.
            int delay = 0;
            while (delay <= 0)
            {
                delay = Microphone.GetPosition(null);
            }

            // Start playing.
            audio.Play();

            // Display some Info.
            var latency = 1000.0f * delay / sampleRate;
            Debug.Log("Microphone mode (latency=" + latency + "msec)");
        }
        else
        {
            Debug.LogWarning("AudioInput: Initialization failed.");
        }
#endif
    }
Пример #5
0
    IEnumerator Start()
    {
        Application.targetFrameRate = 60;

        AudioSettings.speakerMode      = AudioSpeakerMode.Mono;
        AudioSettings.outputSampleRate = 44100;
        AudioSettings.SetDSPBufferSize(320, 4);

        yield return(null);

        yield return(null);

        yield return(null);

        Application.LoadLevel("Main");
    }