1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
| #import "ILVideosTableViewController.h" #import "MBProgressHUD+MJ.h" #import "Video.h" #import <SDWebImage/SDWebImage.h> #import <MediaPlayer/MediaPlayer.h>
@interface ILVideosTableViewController ()
@property(nonatomic,strong) NSMutableArray *videos;
@end
@implementation ILVideosTableViewController
-(NSMutableArray *)videos { if (_videos==nil) { _videos=[NSMutableArray array]; } return _videos; } - (void)viewDidLoad { [super viewDidLoad]; //加载服务器的最新视频信息 //1-创建URL NSURL *url=[NSURL URLWithString:@"http://localhost:8080/MJServer/video"]; //2-创建请求 NSURLRequest *request=[NSURLRequest requestWithURL:url]; //3-发送请求 [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) { if (connectionError||data==nil) { [MBProgressHUD showError:@"请求失败"]; return; } //解析json数据 NSDictionary *dict=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil]; NSArray *videoArray=dict[@"videos"]; //NSLog(@"视频的个数为:%d",videoArray.count); for (NSDictionary *videoDict in videoArray) { Video *video=[Video videoWithDict:videoDict]; [self.videos addObject:video]; } //刷新表格 NSLog(@"---"); [self.tableView reloadData]; }]; } #pragma mark - Table view data source - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return self.videos.count; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *ID=@"ID"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID]; if(!cell){ cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:ID]; } Video *video=self.videos[indexPath.row]; cell.textLabel.text=video.name; cell.detailTextLabel.text=[NSString stringWithFormat:@"时长:%d分钟",video.length]; NSString *imageUrl=[NSString stringWithFormat:@"http://localhost:8080/MJServer/%@",video.image]; [cell.imageView sd_setImageWithURL:[NSURL URLWithString:imageUrl] placeholderImage:[UIImage imageNamed:@"placeholder"]]; return cell; } #pragma 代理方法 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { //取出视频模型 Video *video=self.videos[indexPath.row]; NSLog(@"%@",video.name); //播放视频(调用系统提供的视频播放器) NSString *videoUrl=[NSString stringWithFormat:@"http://localhost:8080/MJServer/%@",video.url]; NSURL *url=[NSURL URLWithString:videoUrl]; MPMoviePlayerViewController *player=[[MPMoviePlayerViewController alloc]initWithContentURL:url]; //显示播放器 [self presentViewController:player animated:YES completion:nil]; } @end
|