Esempio n. 1
0
 void HandlePause(bool pauseStatus)
 {
     if (AVState.kNone == avState)
     {
         return;
     }
     //
     if (pauseStatus)
     {
         avState = AVState.kPause;
     }
     else
     {
         avState = AVState.kPlay;
     }
     //
     if (AVState.kPause == avState)
     {
         PipelineExecute(uniqueID, "pause");
         //
         if (playAudio)
         {
             audioSource.Stop();
         }
     }
     else if (AVState.kPlay == avState)
     {
         PipelineExecute(uniqueID, "play");
         //
         if (playAudio)
         {
             audioSource.Play();
         }
     }
 }
Esempio n. 2
0
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            if (AVState.kPlay == avState)
            {
                // Call ensures that pause is not reapplied
                PipelineExecute(uniqueID, "pause");
                //
                if (playAudio)
                {
                    audioSource.Stop();
                }
                avState = AVState.kPause;
            }
            else if (AVState.kPause == avState)
            {
                // Call ensures that pause is not reapplied
                PipelineExecute(uniqueID, "play");
                //
                if (playAudio)
                {
                    audioSource.Play();
                }
                avState = AVState.kPlay;
            }
        }
        else if (Input.GetKeyDown(KeyCode.RightArrow))
        {
            PipelineExecute(uniqueID, "step");
            //
            if (playAudio)
            {
                audioSource.Stop();
            }
            avState = AVState.kPause;
        }

        if (PipelineQuery(uniqueID, "isAmbisonic") > 0.0f)
        {
            // Pass in ambisonic angles
            Vector3 localEuler = this.GetComponentInChildren <Camera>().transform.localEulerAngles;
            PipelineSetAmbisonicAngles(uniqueID, -1 * localEuler.y, localEuler.x, localEuler.z);
        }
    }
Esempio n. 3
0
    public void SetFile(string file)
    {
        if (uniqueID != 0)
        {
            PipelineExecute(uniqueID, "stop");
            PipelineExecute(uniqueID, "terminate");
            PipelineExecute(uniqueID, "notacmd");
            PipelineDestroy(uniqueID);
        }
        uniqueID = GetUniqueID();
        //
        PipelineCreate(uniqueID);
        PipelineSetAmbiMode(uniqueID, isAmbisonic);
        PipelineExecute(uniqueID, "file://" + file);
        SetPathFromUnity(uniqueID, Application.dataPath);
        PipelineMuteAudio(uniqueID, mute);
        //
        PipelineExecute(uniqueID, "init");
        if (PipelineQuery(uniqueID, "initialized") > 0)
        {
            // The following create methods query the pipeline
            // information so these calls come after init above
            CreateTextureAndPassToPlugin();
            // Create audio objects if needed
            playAudio = (PipelineQuery(uniqueID, "hasAudio") > 0.0f);
            if (playAudio)
            {
                CreateAudio();
            }
            //
            PipelineExecute(uniqueID, "play");
            avState = AVState.kPlay;
        }
        else
        {
            print("Failed to initialize pipeline\n");
        }

        if (isAmbisonic)
        {
            //Cursor.lockState = CursorLockMode.Locked;
        }
        StartCoroutine("CallPluginAtEndOfFrames");
    }
Esempio n. 4
0
    IEnumerator Start()
    {
        CheckPlatform();
        //
        PrintHelp();
        //
        uniqueID = GetUniqueID();
        //
        PipelineCreate(uniqueID);
        PipelineSetAmbiMode(uniqueID, isAmbisonic);
        PipelineExecute(uniqueID, "file://" + Application.streamingAssetsPath + "/" + File);
        SetPathFromUnity(uniqueID, Application.dataPath);
        PipelineMuteAudio(uniqueID, mute);
        //
        PipelineExecute(uniqueID, "init");
        if (PipelineQuery(uniqueID, "initialized") > 0)
        {
            // The following create methods query the pipeline
            // information so these calls come after init above
            CreateTextureAndPassToPlugin();
            // Create audio objects if needed
            playAudio = (PipelineQuery(uniqueID, "hasAudio") > 0.0f);
            if (playAudio)
            {
                CreateAudio();
            }
            //
            PipelineExecute(uniqueID, "play");
            avState = AVState.kPlay;
        }
        else
        {
            print("Failed to initialize pipeline\n");
        }

        if (isAmbisonic)
        {
            //Cursor.lockState = CursorLockMode.Locked;
        }
        yield return(StartCoroutine("CallPluginAtEndOfFrames"));
    }
Esempio n. 5
0
 void Update()
 {
     if (Input.GetKeyDown(KeyCode.Space))
     {
         if (AVState.kPlay == avState)
         {
             // Call ensures that pause is not reapplied
             PipelineExecute(uniqueID, "pause");
             //
             if (playAudio)
             {
                 audioSource.Stop();
             }
             avState = AVState.kPause;
         }
         else if (AVState.kPause == avState)
         {
             // Call ensures that pause is not reapplied
             PipelineExecute(uniqueID, "play");
             //
             if (playAudio)
             {
                 audioSource.Play();
             }
             avState = AVState.kPlay;
         }
     }
     else if (Input.GetKeyDown(KeyCode.RightArrow))
     {
         PipelineExecute(uniqueID, "step");
         //
         if (playAudio)
         {
             audioSource.Stop();
         }
         avState = AVState.kPause;
     }
 }