【发布时间】:2021-12-29 12:20:38
【问题描述】:
使用 unity 2020.3 和 XR 插件(目前只有 oculus,但我希望将迁移到 openxr)并在按下辅助按钮时尝试启动麦克风。它可以工作,但启动麦克风会导致延迟。协程无济于事,我尝试了线程来停止延迟,但随后无法对音频剪辑做任何事情。多年来,这个问题已经被问过几次,但还没有答案。代码如下:
void Update()
{
foreach(var d in devices){
if (d.TryGetFeatureValue(CommonUsages.secondaryButton, out isPressed)){
if (isPressed && !wasTalking)
{
wasTalking = true;
asource.PlayOneShot(walkietalkie);
//start_recording = new Thread(startRecording);
//start_recording.Start();
startRecording();
}
else if (wasTalking && !isPressed){
finishRecording();
wasTalking = false;
}
}
private void startRecording(){
recording = Microphone.Start(null, false, 30, freq);
startRecordingTime = Time.time;
yield return null;
}
编辑:我已经删除了无用的协程。为什么我的问题是 -1?
【问题讨论】:
-
仅供参考,您的协程实际上并没有做任何事情..它完全在一帧内执行;)..我也很确定你不能在线程中执行此异步/大多数 Unity API 只能在主线程上调用
-
我知道 :),只是我尝试过的一长串事情,因为我在 posibilites 中报废了桶底
标签: unity3d lag microphone