- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
首先,这是我关于 SO 的第一个问题 - 如果我犯了任何错误,请不要对我进行 tar 和羽毛处理;)
我有一个简单的测试应用程序,可以在 Delphi XE6 中使用 Mitov AudioLab 组件 (www.mitov.com) 版本 7。在我的表单上,有一个 TALWavePlayer、一个 TALSpeexCompressor、一个 TALSpeexDecompressor、一个 TALAudioMixer 和一个 TALAudioOut,构建了一个简单的音频处理链。我可以在设计时直观地连接输入和输出(在 OpenWire View 中)。当我运行我的测试应用程序时,我可以通过扬声器听到波形文件 - 无需一行代码。这是容易(工作)的部分。
(grrrr ...不能发布图片,会让事情变得更清晰;)
现在,我在设计时将TALSpeexDecompressor 输出引脚与TALAudioMixer 输入引脚断开连接(OpenWire View )。我想在运行时替换代码中的相同连接。 (为了简单起见,我保留了 TALAudioMixer 的单个输入引脚和 channel ,因此不需要在代码中创建它们)。
我尝试了在运行时连接其他 AudioLab 组件的完全相同的 optoins(音频输出引脚 -> 音频输入引脚)。
1.) decomp.OutputPin.Connect(mixer.InputPins[0]);
2.) decomp.OutputPin.Connect(mixer.Channels.Items[0].InputPin);
但是使用 TALSpeexDecompressor,这不起作用 - 没有信号离开解压缩器。我没有组件的源代码,因此无法调试应用程序以找出问题所在。
最佳答案
解决方案:
动态连接解压器和混音器后,停止并重新启动波形播放器。这以某种方式解决了这个问题。我不知道幕后发生了什么,但重新启动 TALWavePlayer 后,信号离开 TALSpeexDecompressor 并进入 TALAudioMixer。当我在代码中而不是在属性编辑器中设置 TALWavePlayer 组件的“文件名”属性时,我偶然发现了解决方案。由于另一个(默认)设置“RestartOnNewFile”= True,wave 播放器在内部重新启动并且信号流正常工作。
procedure Tform1.Button1Click(Sender: TObject);
var
channel: TALAudioMixerChannelItem;
begin
channel := mixer.Channels.Add;
waveplayer.Stop;
channel.InputPin.Connect(decomp.OutputPin);
waveplayer.Start;
end;
关于delphi - 如何在 Delphi 代码中将 Speex Decompressor 连接到混音器(Mitov AudioLab 组件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25434094/
首先,这是我关于 SO 的第一个问题 - 如果我犯了任何错误,请不要对我进行 tar 和羽毛处理;) 我有一个简单的测试应用程序,可以在 Delphi XE6 中使用 Mitov AudioLab 组
我是一名优秀的程序员,十分优秀!