Beispiel #1
0
        private async Task InitAudioMeterAsync()
        {
            var result = await AudioGraph.CreateAsync(new AudioGraphSettings(Windows.Media.Render.AudioRenderCategory.Speech));

            if (result.Status == AudioGraphCreationStatus.Success)
            {
                this.audioGraph = result.Graph;

                var audioDevice = (AudioDeviceComboBox.SelectedItem as ComboBoxItem);
                if (audioDevice == null)
                {
                    return;
                }

                var microphone = await DeviceInformation.CreateFromIdAsync(audioDevice.Tag.ToString());

                var inProfile   = MediaEncodingProfile.CreateWav(AudioEncodingQuality.High);
                var inputResult = await this.audioGraph.CreateDeviceInputNodeAsync(MediaCategory.Speech, inProfile.Audio, microphone);

                if (inputResult.Status != AudioDeviceNodeCreationStatus.Success)
                {
                    var msg = new MessageDialog("Device is not available");
                    await msg.ShowAsync();

                    return;
                }

                this.audioGraph.Start();

                var source = PlaybackSource.CreateFromAudioNode(inputResult.DeviceInputNode);
                AudioDiscreteVUBar.Source = source.Source;
            }
        }
 public void TestInit()
 {
     _audioNode              = new FakeAudioNode();
     _audioNode.EffectAdded += new TypedEventHandler <FakeAudioNode, IAudioEffectDefinition>(
         (node, effectDefinition) =>
     {
         sut = (VisualizerAudioEffect)node.CreateAudioEffect(effectDefinition);
     }
         );
     PlaybackSource.CreateFromAudioNode(_audioNode);
 }
 public void PlaybackSource_IsAudioEffectDefinitionPropertiesNotNull()
 {
     Windows.Foundation.Collections.IPropertySet props = null;
     _audioNode.EffectAdded += new TypedEventHandler <FakeAudioNode, IAudioEffectDefinition>(
         (node, effectDefinition) =>
     {
         props = effectDefinition.Properties;
     }
         );
     PlaybackSource.CreateFromAudioNode(_audioNode);
     Assert.IsNotNull(props);
 }
        public void PlaybackSource_IsAudioEffectDefinitionClassIdCorrect()
        {
            string effectName = "";

            _audioNode.EffectAdded += new TypedEventHandler <FakeAudioNode, IAudioEffectDefinition>(
                (node, effectDefinition) =>
            {
                effectName = effectDefinition.ActivatableClassId;
            }
                );
            PlaybackSource.CreateFromAudioNode(_audioNode);
            Assert.AreEqual(typeof(VisualizerAudioEffect).FullName, effectName);
        }
        // TODO: This test does not work from VM due to missing audio adapter
        //[TestMethod]
        //[TestCategory("PlaybackSource")]
        private async Task PlaybackSource_CreateFromAudioNode() // TODO make this test work for VM
        {
            var graphResult = await AudioGraph.CreateAsync(new AudioGraphSettings(Windows.Media.Render.AudioRenderCategory.Media));

            if (graphResult.Status == AudioGraphCreationStatus.Success)
            {
                var node   = graphResult.Graph.CreateFrameInputNode();
                var source = PlaybackSource.CreateFromAudioNode(node);
                graphResult.Graph.Start();
                Assert.IsNotNull(source.Source);
            }
            else
            {
                Assert.Inconclusive($"Not able conduct test, could not activate audio graph, result = {graphResult.Status}, {graphResult.ExtendedError.Message}");
            }
        }