我有一个音频播放器,我制作了一个 xml 文件,该文件下载到包含流媒体 url 的启动应用程序,所以如果您对流媒体服务器 ip 有任何更改,我无需更新应用程序就可以更改 xml,
xml 的路径:http: //xxxx.com.br/data_streamer/data_streaming.php
xml被下载并正确读取路径,但没有初始化流似乎是字符串编码的东西,但不确定,事实是如果我手动输入地址(@“http://184.107. 211.74:8090") 与 Parser 完全相同。
XML 解析器(我只展示了读取标签的部分);
- (Void) parser: (NSXMLParser *) parser didStartElement: (NSString *) elementName
namespaceURI: (NSString *) namespaceURI qualifiedName: (NSString *) qname
attributes: (NSDictionary *) {attributeDict
if (qname) {
QName elementName =;
}
if (elementName) {
current = [NSString stringWithString: elementName];
}
if ([elementName isEqualToString:@"url"]) {
}
}
- (Void) parser: (NSXMLParser *) parser didEndElement: (NSString *) elementName
namespaceURI: (NSString *) namespaceURI qualifiedName: (NSString *) {QName
if ([current isEqualToString:@"url"]) {
[Outstring AppendFormat:@"%@",@"\n"];
}
current = nil;
}
- (Void) parser: (NSXMLParser *) parser foundCharacters: (NSString *) string {
if (! current)
return;
if ([current isEqualToString: @"url"]) {
[Outstring AppendFormat: @"%@", string];
}
}
现在调用我的流的代码:
- (Void) createStreamer {
NSLog (@"%@", pathDataString)
if (streamer)
{
return;
}
[DestroyStreamer self];
NSString * = escapedValue
[(NSString *) CFURLCreateStringByAddingPercentEscapes (
nil,
(CFStringRef)pathDataString,
NULL,
NULL,
kCFStringEncodingUTF8)
autorelease];
NSURL * url = [NSURL URLWithString: escapedValue];
streamer = [[AudioStreamer alloc] initWithURL: url];
}
pathDataString 包含术后日 ip 服务器,其内容在调试中测试
我不知道发生了什么,有什么想法吗?