AudioNodeEmitter左右平移

时间:2017-03-26 15:34:10

标签: c# windows-10-universal

我使用UWP AudioGraph API生成音色,如SDK示例中的音频创建。它工作正常,但我试图添加平移。我可以让它一直平移到左扬声器,但不是一直向右。例如,

leftEmitter = new AudioNodeEmitter(AudioNodeEmitterShape.CreateOmnidirectional(),
                                   AudioNodeEmitterDecayModel.CreateCustom(1, 1),
                                   AudioNodeEmitterSettings.DisableDoppler);
leftEmitter.Position = new System.Numerics.Vector3(-1, 0, 0);
leftEmitter.Gain = 1;
frameInputNodeLeft = graph.CreateFrameInputNode(nodeEncodingProperties, leftEmitter);
frameInputNodeLeft.AddOutgoingConnection(deviceOutputNode);

这将位置设置为x = -1,y = 0和z = 0.它只出自左扬声器,这很好,但它相反,

leftEmitter.Position = new System.Numerics.Vector3(1, 0, 0);

这两个扬声器都出来了,为什么会这样?也许我误解了坐标系?我也使用耳机,所以不会误解它的出现位置。

尼克。

PS:我也尝试从左到右进行实时平移,我从这个位置开始,

leftEmitter.Position = new System.Numerics.Vector3(-100, 0, 10)

每次渲染帧时我都会在X位置添加0.1,这会让我在左侧扬声器中一直听到它,慢慢地向右移动,但是,在中间点之后它会卡住,至少那听起来像是什么。它不会比这更进一步。

示例代码:

Goto scenario 3, and press "Left" button to hear panning from left to right.

https://1drv.ms/u/s!AlN90gKdry3-s-42er4iVbAAjNL-mA

0 个答案:

没有答案