想学习流媒体的知识,于是在code4app.com网站上下载了FreeStreamer软件,进行分析学习.
首先打开软件,点加号按钮输入本地的一个mp3地址,点击OK,如图:
跟踪代码,在- (void)alertView: clickedButtonAtIndex:方法中将这个url地址添加到了playlistItems数组中
然后在TableView中显示列表
点击列表内容,出现错误
进行调试,错误时的调用关系如下
调试发现,是本地URL没有添加处理,添加如下代码:
NSRange range = [_url rangeOfString:@":"]; NSString *str = [_url substringToIndex:range.location]; NSLog(@"str :%@",str); NSURL *urlTemp = nil; if ([str isEqualToString:@"file"]) { urlTemp = [NSURL fileURLWithPath:_url]; } else { urlTemp = [NSURL URLWithString:_url]; } self.audioStream.url = urlTemp;
再次运行,可以看到地址在显示列表中
查看代码,发现有个注释的宏,把它们打开
file:audio_stream.cpp
#define AS_RELAX_CONTENT_TYPE_CHECK 1 #define AS_DEBUG 1 #if !defined (AS_DEBUG) #define AS_TRACE(...) do {} while (0) #else #define AS_TRACE(...) printf(__VA_ARGS__) #endif
再次运行,提示
void astreamer::Audio_Stream::open(): failed to open the HTTP stream
明日再继续学习.
原文:http://www.cnblogs.com/dqxu/p/3561878.html