我正在尝试AudioGraph 1.1 API中的新空间音频功能,并且我从没有发射器的文件输出声音,但是当我将发射器添加到节点创建调用时,它突然返回FormatNotSupported。我无法通过搜索找到任何有用的信息,这可能是因为它是一个新的API。谁能看到我做错了什么或缺少什么吗?以下是我的代码:

private async void MainPage_Loaded(object sender, RoutedEventArgs args)
        {
            AudioGraphSettings settings = new AudioGraphSettings(AudioRenderCategory.Media);
            var devices = await DeviceInformation.FindAllAsync();
            CreateAudioGraphResult result = await AudioGraph.CreateAsync(settings);
            if (result.Status != AudioGraphCreationStatus.Success)
            {
                return;
            }
            graph = result.Graph;

            FileOpenPicker saveFilePicker = new FileOpenPicker();
            saveFilePicker.FileTypeFilter.Add(".wav");
            saveFilePicker.FileTypeFilter.Add(".wma");
            saveFilePicker.FileTypeFilter.Add(".mp3");
            StorageFile file = await saveFilePicker.PickSingleFileAsync();

            if (file == null)
            {
                return;
            }

            AudioNodeEmitter emitter = new AudioNodeEmitter(AudioNodeEmitterShape.CreateOmnidirectional(),
                AudioNodeEmitterDecayModel.CreateNatural(.1,1,10,100),
                AudioNodeEmitterSettings.None);
            emitter.Position = new Vector3(10, 0, 5);

            CreateAudioDeviceOutputNodeResult deviceOutputNodeResult = await graph.CreateDeviceOutputNodeAsync();
            var outputNode = deviceOutputNodeResult.DeviceOutputNode;

            CreateAudioFileInputNodeResult fileInputNodeResult = await graph.CreateFileInputNodeAsync(file, emitter);
            inputNode = fileInputNodeResult.FileInputNode;

            inputNode.AddOutgoingConnection(outputNode);
            graph.Start();
        }

最佳答案

您的代码没有问题,问题是:



您可以引用Spatial audio的注释部分。

要测试此API,您可以下载此audio here

关于audio - AudioGraph.CreateFileInputNodeAsync导致WAV和AudioNodeEmitter产生FormatNotSupported,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40006356/

10-12 13:38