|
网络实时广播SDK6.0版
|
| 1、网络输入设备可以是麦克风,CD机,电台,收音机,音频文件或其他连线设备,输入设备可以选择任意声卡。 |
| 2、音频接收端可以选择声卡,声道等属性。 |
| 3、音频接收端可以选择接收多台电脑的音频数据。 |
| 4、音频发送端可以网络广播,同一网段的多台电脑可以接收到数据。 |
| 5、音频接收端支持多块声卡,声卡资源分配由用户选择(声卡,声道等)。 |
| 6、音频接收端多块声卡可以分组接收数据,同一组接收的音频数据相同,可以分多组。 |
| 7、音频接收端和音频发送端UDP端口可以选择。 |
| 8、支持所有支持动态连接库编程的语言。(如:VB,DELPHI,C++ Builder,VC++等等) |
| 9、注意网络测试,必须有两台电脑,IP地址必须在广播范围之内,也可以具体IP地址。 |
| 只有UDP才支持广播,TCP是不支持广播的。 广播有两种, 一种是directed broadcast,比如你的网段是192.168.0.X,你就往192.168.0.255发就可以了。 另一种是limited broadcast,广播地址是255.255.255.255 两者都是可以的。 directed broadcast不需要SetSockopt(),以标准的C类网为例,直接发送x.x.x.255就可以了, 这种广播只有同一逻辑子网中的机器才能收到,也就是说对方地址应该是x.x.x.y,如果不是 即使在同一物理子网中也是收不到的。当然,这和子网掩码有关。 limited broadcast必须有SetSockopt(FSocket,SOL_SOCKET,SO_BROADCAST, @broadcast,sizeof(broadcast)); 注意:在WIN98和WIN2K,本程序可以进行两中广播方式,在WINXP和WIN2003下,只能用直接广播(directed broadcast),如果广播地址不知道怎么设置,可以联系作者。 |
|
音频接收端SDK函数
|
| function stInitDevice(AppHandle:THandle):integer; |
| 初始化函数,在使用其他函数之前必须调用。AppHandle:调用此函数的窗体句柄。 |
| function stUnInitDevice:integer;stdcall; |
| 释放分配的资源。 |
| function stEnumWaveDevices(EnumDevice:Pchar):integer; |
| EnumDevice:已经分配的内存,得到当前系统音频设备列表,多个设备之间用回车换行分隔。返回值为:声卡数量, |
| function stSetVolume(Mixid,Id,Value: integer):integer;stdcall; |
| 设置混合器Mixid的Id设备音量大小Value。 ID=-1 为主音量 ,ID=9 为WAVE音量 |
| function stGetVolume(Mixid,Id: integer):integer;stdcall; |
| 得到混合器Mixid的Id设备音量大小,ID=-1 为主音量 ,ID=9 为WAVE音量 |
| function stSetSndVolPro(Mixid:integer;isRecPanel:integer):integer;stdcall; |
| 显示混合器Mixid的属性。isRecPanel=0 为音量控制界面,不等于0为录音控制界面。 |
| function stSetInDeviceID(Mixid:integer;Value:integer):integer;stdcall; |
| 设置麦克风输入的声卡的ID号,Mixid=0;Value=声卡的ID号 |
| function stSetInDeviceEnabled(Mixid:integer;Value:integer) : integer; stdcall; |
| 设置麦克风输入的声卡是否可用,Mixid=0;Value=0 停止 , Value=1 使用 |
| function stSetOutDeviceID(Mixid:integer;Value:integer):integer;stdcall; |
| 设置混合器Mixid的输出声卡的ID号。Value=ID号 |
| function stSetOutDeviceBalace(Mixid:integer;Value:integer):integer;stdcall; |
| 设置混合器Mixid的输出平衡。Value < 0 不发声,0 左声道,1 右声道 2 混合声道 |
| function stGetInDeviceDsp(Mixid:integer) : integer; stdcall; 返回值在0..300之间 |
| 得到输入设备的DSP值,Mixid=0; |
| function stListenNet(NetID,nPort,Listen:integer):integer;stdcall; |
| 监听网络广播音频数据,NetID:网络连接ID(0..5), nPort :端口号;Listen=0 不监听 Listen=1 监听 |
| function stPlayerLinkNetID(PlayerID,NetID:integer):integer;stdcall; |
|
把连接和播放器连在一起,PlayerID:播放器ID号(0..5);NetID:网络连接ID号(0..5) |
| function stSetClientSN(RegStr : Pchar):integer; stdcall; |
| 注册函数,RegStr为注册码 ,必须在最先调用。 |
|
音频发送端SDK函数
|
| function stInitDevice(AppHandle:THandle):integer; |
| 初始化函数,在使用其他函数之前必须调用。AppHandle:调用此函数的窗体句柄 |
| function stUnInitDevice:integer;stdcall; |
| 释放分配的资源。 |
| function stEnumWaveDevices(EnumDevice:Pchar):integer; |
| EnumDevice:已经分配的内存,得到当前系统音频设备列表,多个设备之间用回车换行分隔。返回值为:声卡数量, |
| function stSetSndVolPro(Mixid:integer;isRecPanel:integer):integer;stdcall; |
| 显示混合器Mixid的属性。isRecPanel=0 为音量控制界面,不等于0为录音控制界面。 |
| function stLocalMute(nMute:integer):integer;stdcall; |
| 设置本地是否发声音。nMute=0 发声, nMute=1 为静音 |
| function stNetBroadcast(BroadcastIP:pchar; nPort;CardID:integer):integer;stdcall; |
| BroadcastIP 广播地址,地址也可以是指定电脑的IP地址。nPort 端口号, 客户端和服务端端口号必须一致。CardID:声卡ID号 |
| function stFileBroadcast(BroadcastIP:pchar;nPort:integer;FileName:Pchar;isLoop:integer):integer;stdcall; |
| BroadcastIP 广播地址,地址也可以是指定电脑的IP地址。nPort 端口号, 客户端和服务端端口号必须一致,FileName 要广播的WAVE文件,isLoop等于0不循环播放不等于0循环播放。 |
| function stStopBroadcast() :integer;stdcall; |
| 停止广播。 |
| function stSetServerSN(RegStr : Pchar):integer; stdcall; |
| 注册函数,RegStr为注册码 ,必须在最先调用。 |
| RegisterWindowMessage('WM_SYSTEM_PLAYSTATES'); 注册事件,用来接收播放文件时的状态。 |
作者:李国智(13574073303 0731-2600017) 邮件:stgzs@etang.com QQ: 10020020 23144351
|