问题描述
尝试使用来自github的用于iOS的libshout库连接到SHOUTcast服务器 链接,我发布了适用于Iphone 8仿真器的框架并尝试进行测试,但出现此错误
Warning: Error creating LLDB target at path '/Users/mas/Library/Developer/Xcode/DerivedData/ShoutCast2-gtrwknpcdwrgudfymaufliborewq/Build/Products/Release-iphonesimulator/ShoutCast2.app'- using an empty LLDB target which can cause slow memory reads from remote devices.
-13 is the reply and sucsses = 0
Error connecting: Please retry current operation.
shout_t *shout;
int ret;
shout_init();
if (!(shout = shout_new())) {
printf("Could not allocate shout_t\n");
return;
}
if (shout_set_host(shout,"radio.co") != SHOUTERR_SUCCESS) {
printf("Error setting hostname: %s\n",shout_get_error(shout));
return;
}
if (shout_set_protocol(shout,SHOUT_PROTOCOL_HTTP) != SHOUTERR_SUCCESS) {
printf("Error setting protocol: %s\n",shout_get_error(shout));
return;
}
if (shout_set_port(shout,1944) != SHOUTERR_SUCCESS) {
printf("Error setting port: %s\n",shout_get_error(shout));
return;
}
if (shout_set_password(shout,"pass") != SHOUTERR_SUCCESS) {
printf("Error setting password: %s\n",shout_get_error(shout));
return;
}
if (shout_set_mount(shout,"amr") != SHOUTERR_SUCCESS) {
printf("Error setting mount: %s\n",shout_get_error(shout));
return;
}
if (shout_set_user(shout,"kamal") != SHOUTERR_SUCCESS) {
printf("Error setting user: %s\n",shout_get_error(shout));
return;
}
if (shout_set_format(shout,SHOUT_FORMAT_MP3) != SHOUTERR_SUCCESS) {
printf("Error setting user: %s\n",shout_get_error(shout));
return;
}
if (shout_set_nonblocking(shout,1) != SHOUTERR_SUCCESS) {
printf("Error setting non-blocking mode: %s\n",shout_get_error(shout));
return;
}
ret = shout_open(shout);
if (ret == SHOUTERR_SUCCESS)
ret = SHOUTERR_CONNECTED;
if (ret == SHOUTERR_BUSY)
printf("Connection pending...\n");
while (ret == SHOUTERR_BUSY) {
printf("Connection busy...");
usleep(10000);
ret = shout_get_connected(shout);
}
printf("%d is the reply and sucsses = %d\n\n",ret,SHOUTERR_SUCCESS);
if (ret == SHOUTERR_CONNECTED) {
printf("Connected to server...\n");
NSData *data = [NSData dataWithContentsOfFile:@"song.mp3"];
NSUInteger length = [data length];
unsigned char *cdata = (int*)malloc(length);
[data getBytes:(void*)cdata length:length];
long long total = 0;
long long size = length;
while (total < size) {
unsigned char *buff[4096];
int read = 0;
for (int i = 0; i < 4096; i++) {
if (total == size)
break;
read++;
buff[i] = cdata[totaL++];
}
ret = shout_send(shout,buff,read);
if (ret != SHOUTERR_SUCCESS) {
printf("DEBUG: Send error: %s\n",shout_get_error(shout));
break;
}
if (shout_queuelen(shout) > 0)
printf("DEBUG: queue length: %d\n",(int)shout_queuelen(shout));
shout_sync(shout);
}
} else {
printf("Error connecting: %s\n",shout_get_error(shout));
}
shout_close(shout);
shout_shutdown();
我已经使用C ++控制台应用程序进行了测试,并且可以正常工作,并且可以轻松流式传输MP3文件,而没有任何问题,那么我在目标C代码中做错了什么,给了我这个错误?我没有要测试的IOS真实设备,因此在整个仿真器中。
预先感谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)