0

我想通过扬声器实时播放来自 Oculus Go 麦克风的声音,但无法做到。我已经尝试过这段代码,它在带有耳机麦克风而不是 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();
    }
}

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

4

1 回答 1

0

这个脚本应该可以在 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;
}
于 2019-11-21T16:09:05.230 回答