unity3d - Oculus Go和Unity:麦克风实时播放

标签 unity3d audio virtual-reality oculusgo

我想通过扬声器实时播放从Oculus Go的麦克风获得的声音,但无法做到。我已经尝试过此代码,但在带耳机麦克风的Editor中不能与Oculus Go一起使用,还是我犯了一些错误?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Video;

public class MicrophoneAudio : MonoBehaviour
{
    void Start()
    {
        AudioSource micAudio = GetComponent<AudioSource>();
        micAudio.clip = Microphone.Start(Microphone.devices[0], true, 10, 44100);
        micAudio.loop = true;
        while(!(Microphone.GetPosition(null) > 0)) { }
        micAudio.Play();
    }
}

还是这个设备限制?我已经观察了很多,但是没有运气,发现只启动麦克风而没有实时播放。希望有人能帮助我。

最佳答案

该脚本应该可以在Oculus GO上使用,在我的Oculus GO音频和视频实时流演示中使用了该脚本。

AudioSource AudioMic;
void Start() {
    StartCoroutine(CaptureMic());
}

IEnumerator CaptureMic()
{
    if (AudioMic == null) AudioMic = GetComponent<AudioSource>();
    AudioMic.clip = Microphone.Start(null, true, 1, OutputSampleRate);
    AudioMic.loop = true;
    while (!(Microphone.GetPosition(null) > 0)) { }
    Debug.Log("Start Mic(pos): " + Microphone.GetPosition(null));
    AudioMic.Play();

    //capture for live streaming
    //while (!stop)
    //{
    //    AddMicData();
    //    yield return null;
    //}
    //capture for live streaming
    yield return null;
}

关于unity3d - Oculus Go和Unity:麦克风实时播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58951537/

相关文章:

javascript - 如何使用 VR 的 A-Frame 在每个实体顶部创建一个指示器?

unity3d - 如何将UI图像移动到触摸位置?

c# - 获取 UI 文本元素的高度不正确 Unity

javascript - 如何为 Unity 2019 添加 JavaScript 支持?

batch-file - 批处理文件,按编号顺序删除最后一个文件

reactjs - react :播放,暂停onclick功能

c# - 如何在unity3d中制作测距仪

ios - MPMoviePlayer setCurrentPlaybackTime iOS

swift - SceneKit——一个场景中的两个 SCNFloor

database - 共振中使用的HRTF数据库