我想通过扬声器实时播放从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/