我创建了一个能够直播的应用,但我目前无法测试视频是否有效。我正在尝试创建一个if else语句来测试视频是否处于活动状态。我正在使用返回“d”结果的JSON Web服务。我目前正在使用设计用于播放视频文件的IB动作中的以下代码块:
-(IBAction) playVideo:(id)sender {
NSString *baseVideoUrl = @"http://streaming5.calvaryccm.com:1935/live/iPhone/playlist.m3u8";
NSLog(@" finalUrl is : %@",baseVideoUrl);
//EXPERIMENTAL
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://www.calvaryccm.com/ServiceTimes.asmx/IsServiceTime/path"]];
[request setHTTPMethod:@"POST"];
if (NSString *postString = @"d";) {
[request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]];
}
else{
MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:baseVideoUrl]];
if ([moviePlayer respondsToSelector:@selector(setFullscreen:animated:)]) {
// Use the 3.2 style API
moviePlayer.controlStyle = MPMovieControlStyleDefault;
moviePlayer.shouldAutoplay = YES;
[self.view addSubview:moviePlayer.view];
[moviePlayer setFullscreen:YES animated:YES];
}
}
}
我不知道我做错了什么。我需要帮助创建用于测试流是否处于活动状态的语句。
答案 0 :(得分:1)
首先使用isEqualToString:
来比较NSString
。你在if
语句中所做的是一项评估为真的作业。所以这样做,
if ( [responseString isEqualToString:@"d"] ) {
// Handle active content.
}
[..]
这里还有另一个问题。您正在创建一个NSMutableURLRequest
对象,但它永远不会被评估。虽然我还没有正确理解这个JSON Web服务是如何实现的,但我希望它可以像是,
NSError * error = nil;
NSString * responseString = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.calvaryccm.com/ServiceTimes.asmx/IsServiceTime/path"]
encoding:NSUTF8StringEncoding
error:&error];
if ( error ) {
NSLog(@"%@", [error localizedDescription]);
}
if ( [responseString isEqualToString:@"d"] ) {
// Handle active content.
} else {
// Inform user that the content is unavailable.
}