010-68421378
sales@cogitosoft.com
当前您所在的位置:首页>新闻中心>行业动态

LightningChart:大数据可视化工具|SignalReader快速打开文件进行重放,AudioInput捕捉System.Double值呈现到LightningChart

发布时间:2018/06/21 浏览量:3423
17. SignalReader 组件 SignalReader组件允许从信号源文件中读取数据,并以选定的速率重放录音。SignalReader输出数据流格式与Sig...

17. SignalReader 组件

SignalReader组件允许从信号源文件中读取数据,并以选定的速率重放录音。SignalReader输出数据流格式与SignalGenerator类似,请参见第1.10章。

 

SignalReader组件目前支持两种格式,wavsid

 

 

17.1 主要特性

 

FileName定义要打开的文件,如“c\\wavedata \\ audioclip1.wav”

Factor设定输出因子。原始信号样本乘以该值。

OutputInterval类似于SignalGenerator的属性,请参见第17.1节。

当文件终点达到时,IsLooping允许文件读取跳转到文件的开头。

打开文件后,可以使用以下属性来获取文件的信息:

ChannelCount:文件的通道数。

SamplingFrequency:采样频率(Hz)。

FileSize:文件大小(以字节计)。

Length:每个频道的采样计数。所有信号文件格式可能不准确

IsReaderEnabled:状态命令是组件启动和读取数据。如果循环设置为假并且文件终点到达,IsReaderEnabled将更改为false

17.2快速打开文件进行重放

调用OpenFile...)方法提供的文件名。文件名必须有支持格式的扩展名。然后调用Start()方法

signalReader.OpenFile(“C\\wavedata\\ audioclip1.wav”;

signalReader.Start();

它将开始重放PCM格式的WAV文件。

可以通过调用StopRequest()方法来停止重放。

17-1SignalReader读取一个wav文件,LightningChartSampleDataSeries绘制信号。光标线用于标记当前读取位置和X轴滚动位置。

 

18.AudioInput 组件

AudioInput组件允许用户从Windows的录制设备捕获到System.Double值的信号。这些值可以在LightningChartUltimate上呈现,发送到AudioOutput组件,并保存到文件等...

 

18.1 性能

BitsPerSample——获取或设置每个样本分配多少位。支持的值为816。如果使用其他值,则使用16IsInputEnabled为假时可设置。

 

IsInputEnabled——获取或设置此实例的状态(即启动或停止它)。将此属性设置为真与调用Start方法相同,其中假与调用Stop方法相同。

 

IsStereo——获取或设置是使用两个通道(立体声)还是仅使用一个(单声道)。IsInputEnabled为假时可设置。

LicenseKey——以常规或加密格式获取或设置许可证密钥。

 

RecordingDevice——获取或设置当前录制设备。IsInputEnabled为假时可设置。通过将此属性设置为空,使用Windows的默认记录设备。

 

SamplesPerSecond——获取或设置采样频率。IsInputEnabled为假时可设置。

 

ThreadInvoking——获取或设置此实例是否自动将其事件同步到主UI线程,因此无需在访客端调用Control.Invoke方法。

 

Volume——获取或设置音量(0-100)。IsInputEnabled为假时可设置。

 

 

 

18.2 方法

GetRecordingDevices——使用此静态方法获取可用Windows录制设备的列表。

RequestStop——将此AudioInput实例发出信号以停止。退出此方法后,Stop不会立即出现。通过订阅Stopped事件,当所有事情都停止时,用户将会被通知。

Start——Start从选定的录音设备中读取音频。内部线程即将开始时触发Started事件。

 

 

18.3 事件

DataGenerated——生成一组新的音频数据时发生。可以从作为参数提供的DataGeneratedEventArgs对象读取数据及其第一个样本的时间戳。

Started音频输入开始时发生。StartedEventArgs对象作为参数被提供,包含三个公共字段:BitsPerSampleChannelCountSamplesPerSecond

Stopped音频输入停止时发生。

 

 

18.4 用法(WinForms)

本章介绍了AudioInput类的WinForms版本的用法。WPF版本将在第17.5章中处进行介绍。

 

 

18.4.1 创建

通过在源代码中手动创建一个新的AudioInput实例,或者将其从VisualStudio的工具箱拖放到您的表单、用户控件等。

如果您不需要显示GUI(即,您使用自己的或您的源代码控制AudioInput对象),则将Visible属性设置为假。始终建议使用父属性进行设置,以便在处理父控件时,AudioInput实例被自动处置。如果没有父级,那么在完成AudioInput实例后,不要忘记调用Dispose方法。请注意,如果您通过VisualStudio的工具箱创建一个新的AudioInput实例,则Parent将自动设置。

建议设置LicenseKey属性,以便您的AudioInput实例使用显式许可密钥,而不是尝试从Windows注册表中找到一个。请注意,如果您使用试用版/许可证,则可以将LicenseKey属性保留为其默认值。

 

 

18.4.2 事件处理

要从AudioInput实例获取新的样本,您需要至少订阅DataGenerated事件。当DataGenerated事件触发时,您可以从作为参数提供的DataGeneratedEventArgs对象获取新样本和第一个采样时间戳。

如果想知道AudioInput实例何时开始其音频采样任务,您可以订阅Started事件。您可以获取每个样本的位数,是音频单声道还是立体声,并且从作为参数提供的StartedEventArgs对象每秒钟生成多少个样本。

如果您想知道AudioInput实例何时停止,您可以订阅Stopped事件。Stopped事件没有参数,它唯一的目的是告诉用户什么时候停止。

 

 

下一篇:ReSharper:领先的代码生成工具|改进代码导航,全方位C#7语言支持,深度代码分析,智能代码协助
上一篇:ftrack量身打造个性化私人订制

                               

 京ICP备09015132号-996网络文化经营许可证京网文[2017]4225-497号 | 违法和不良信息举报电话:4006561155

                                   © Copyright 2000-2023 北京哲想软件有限公司版权所有 | 地址:北京市海淀区西三环北路50号豪柏大厦C2座11层1105室

                         北京哲想软件集团旗下网站:哲想软件 | 哲想动画

                            华滋生物