为什么当我使用LVSOUND VIs时,从声卡里得到杂声和失真的声音?
主要软件: LabVIEW Development Systems>>LabVIEW Full Development System
主要软件版本: 5.1
主要软件修正版本: N/A
次要软件: N/A
问题: 当我尝试使用LVSOUND VIs,我从声卡里得到杂声和失真的声音?我怎样才能解决这个问题?
解答: 在使用模拟输入和输出操作时,LVSOUND API类似于DAQmx API。要进行连续的声音输出(SO),将SO_Config放置到程序框图,接线到SO_Start,然后SO_Write(在循环内),然后运行SO_Clear。
LabVIEW 5.1之前的LVSOUND VI 可以在NI开发者园地上找到。当使用这些VI时,SO_Write不等待整个缓冲区被发送到声卡后再继续。循环将增加一个新的缓冲区将被发送到声卡,并中断当前缓冲。这就在声卡得到了杂声和失真的声音。
为了防止这种情况,延迟应放置在回路中,以确保在循环迭代之前缓冲区被完全发送。基于缓冲区的大小和声音的格式(模式8kHz,11kHz等)来使用等待VI。
这个问题应该只发生于LabVIEW 5.1之前的版本中。所有后续版本的LabVIEW将数据追加到声音输出缓冲中,而不是覆盖。此外,现在可以在函数面板找到声音的子VI,不需要单独下载。
相关链接: NI Developer Zone: LabVIEW Sound Card VIs for LabVIEW 5.0
附件:
报告日期: 12/31/1998
最近更新: 10/09/2013
文档编号: 1GUDA3FI
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.