Teamspeak3集成要注意的问题

Teamspeak3集成要注意的问题

2010-5-17

Kagula

这里采用的环境:

[1] ts3_sdk_3.0.0-beta3

[2]VS2008+SP1

问题一:调用ts3client_startConnection连接服务器时,ChannelArray的设置。

正确的应该是

char *ChannelArray[2];

char strNull[]={""};

ChannelArray[0] = pChannelName;

ChannelArray[1] = strNull;

/* Connect to server on localhost:9987 with nickname "client", no default channel, no default channel password and server password "secret" */

if((error = ts3client_startConnection(scHandlerID, identity, ip, port, nickname, ChannelArray, "", "secret")) != ERROR_ok) {

sprintf(msg,"Error connecting to server: %d/n", error);

OutputDebugStringA(msg);

return 1;

}

char ChanelArray[2][32]形式来设置Channel,调用API会产生错误!

若指定名称的通道不存在,不会产生错误提示,自动连接到默认通道!

问题二:Mute客户端的问题

发现使用ts3client_requestMuteClientsts3client_requestUnmuteClients两个函数不起作用(虽然函数返回结果看起来是正确的)。

我使用了下面的代码段来解决问题

其中IsMuted成员函数用来检查当前状态是否处于Mute

问题三:设置Channel的最大slots

设置当前VirtualServer的最大用户数为32,原来为8

参考TS3SDK中的ts3_server_example中的main.c

/* Maximum number of clients allowed per virtual server */

#define MAX_CLIENTS 32

设置0ChannelSlots数为16

ts3server_setChannelVariableAsInt(serverID, 0, CHANNEL_MAXCLIENTS, 16);

TS3免费版的限制:

Only one server process per machine

Only one virtual server per process

Only 32 slots

问题四:录音功能

录音的采样率和采样精度,默认和当前通道语音的采样率及采样精度无关。

使用ts3client_startVoiceRecording函数在客户端开启录音功能后

你可以使用下面的代码来录音

测试录制的pcm文件内容是否正常,可以使用Cool Edit PRO软件。数据存储默认采用Intel大数端方式。

备注

[1]删除默认通道,会产生通道标志出错的提示信息,但是,删除自己建立的通道不存在这个问题。

[2]在当前OS中调用ts3server_initServerLib只能一次,所以ts3server里有virutual server的概念。

你可能感兴趣的:(问题)