Пример #1
0
    public void Initialize()
    {
#if UNITY_EDITOR
        //You should have a fallback to normal AudioSource playing in your game so you can also hear sounds while developing.
        Debug.Log("Please try this in a real device!");
#else
        NativeAudio.Initialize();
#endif
    }
Пример #2
0
    IEnumerator DoInitializing()
    {
        Debug.Log("Initialize Native Audio");
        NativeAudio.Initialize();
        yield return(new WaitForSeconds(1.0f));

        initialized = true;
        Debug.Log("native audio initialized : " + initialized);
        if (initialized)
        {
            StartCoroutine(LoadSounds());
        }
    }
Пример #3
0
     private void Initialize()
     {
 #if UNITY_EDITOR
         //You should have a fallback to normal AudioSource playing in your game so you can also hear sounds while developing.
         Debug.Log("Please try this in a real device!");
 #else
     #if UNITY_ANDROID
         var audioInfo = NativeAudio.GetDeviceAudioInformation();
         Debug.Log("Android audio information : " + audioInfo);
     #endif
         NativeAudio.Initialize(new NativeAudio.InitializationOptions {
             androidAudioTrackCount = 3
         });
 #endif
     }
Пример #4
0
    public void Initialize()
    {
#if UNITY_EDITOR
        //You should have a fallback to normal AudioSource playing in your game so you can also hear sounds while developing.
        Debug.Log("Please try this in a real device!");
#else
#if UNITY_ANDROID
        var audioInfo = NativeAudio.GetDeviceAudioInformation();
        Debug.Log("Android audio information at initialization : " + audioInfo);
#endif
        NativeAudio.Initialize(new NativeAudio.InitializationOptions {
            androidAudioTrackCount   = 2,
            androidMinimumBufferSize = Mathf.RoundToInt(bufferSizeSlider.value)
        });
#endif
    }
    public void Start()
    {
        // var pl = PlayerLoop.GetDefaultPlayerLoop();
        // foreach(var subsystem in pl.subSystemList)
        // {
        //  if(subsystem.GetType() == typeof(Initialization))
        //  {
        //         var npl = new PlayerLoopSystem[1];
        //      npl.updateDelegate = TimeCaptureUpdate;
        //      subsystem.subSystemList = subsystem.subSystemList.Concat(npl);
        //  }
        // }
#if !UNITY_EDITOR
        NativeAudio.Initialize();
        pointer = NativeAudio.Load("NativeAudioDemo1.wav");
#endif
    }
Пример #6
0
    public void Initialize()
    {
        if (isInitialized)
        {
            return;
        }
        isInitialized = true;
        SetUseNativeAudio(Context.Player.Settings.UseNativeAudio);
        if (useNativeAudio)
        {
            NativeAudio.Initialize(new NativeAudio.InitializationOptions
            {
                androidAudioTrackCount = 2
            });
            Debug.Log("Native Audio initialized");
        }

        preloadedAudioClips.ForEach(it => Load(it.name, it, isPreloaded: true));
    }
Пример #7
0
    public IEnumerator PerformanceTest()
    {
        running = true;
        sw      = new Stopwatch();
        pr      = new PerformanceResult();
        audioSource.clip.UnloadAudioData();
        UnityEngine.Debug.Log("Performance test : AudioSource..");
        UnityEngine.Debug.Log("Performance test : AudioSource loading..");

        sw.Start();
        audioSource.clip.LoadAudioData();
        sw.Stop();
        pr.asLoad = sw.ElapsedTicks;
        sw.Reset();

        yield return(new WaitForSeconds(0.5f));

        UnityEngine.Debug.Log("Performance test : AudioSource playing..");

        for (int i = 0; i < framesOfPlay; i++)
        {
            UnityEngine.Debug.Log("Performance test : AudioSource frame " + i);
            sw.Start();
            audioSource.Play();
            yield return(null);

            sw.Stop();
            pr.asTicks.Add(sw.ElapsedTicks);
            sw.Reset();
        }

        yield return(new WaitForSeconds(0.5f));

        if (!Application.isEditor)
        {
            UnityEngine.Debug.Log("Performance test : NativeAudio initializing..");

            sw.Start();
            //This force the "crash prevention mechanism" to activates. If it crashes then... it is a bug.
            NativeAudio.Initialize(new NativeAudio.InitializationOptions {
                androidAudioTrackCount = 3
            });
            sw.Stop();
            pr.naInitialize = sw.ElapsedTicks;
            sw.Reset();

            yield return(new WaitForSeconds(0.5f));

            UnityEngine.Debug.Log("Performance test : NativeAudio silently analyzing..");

            NativeAudioAnalyzer analyzer = NativeAudio.SilentAnalyze();
            yield return(new WaitUntil(() => analyzer.Analyzed));

            pr.silenceAnalysis = analyzer.AnalysisResult.averageFps;

            UnityEngine.Debug.Log("Performance test : NativeAudio loading..");

            sw.Start();
            loaded = NativeAudio.Load("NativeAudioDemo1.wav");
            yield return(null);

            sw.Stop();
            pr.naLoad = sw.ElapsedTicks;
            sw.Reset();

            yield return(new WaitForSeconds(0.5f));

            UnityEngine.Debug.Log("Performance test : NativeAudio playing..");

            for (int i = 0; i < framesOfPlay; i++)
            {
                UnityEngine.Debug.Log("Performance test : NativeAudio frame " + i);
                sw.Start();
                loaded.Play();
                yield return(null);

                sw.Stop();
                pr.naTicks.Add(sw.ElapsedTicks);
                sw.Reset();
            }

            yield return(new WaitForSeconds(0.5f));
        }

        UnityEngine.Debug.Log("Performance test : Ending..");

        resultText.text = pr.AnalysisText;

        running = false;
    }
Пример #8
0
 private static void Init()
 {
     //This is so that it comes before all Pad's `Awake` which attempts to load the audio.
     NativeAudio.Initialize();
 }