本地视频播放-ios
// 视频播放 -(void)playMovie { self.navigationItem.rightBarButtonItem.enabled = YES; self.movieName = @"1305178253912757X4VMU00207002"; self.folderName = @"1-11"; //在VideoFolder文件夹下建立子文件夹 NSFileManager *fm = [[NSFileManager alloc]init]; NSString *docs = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject]; NSString *folderPath = [docs stringByAppendingPathComponent:[NSString stringWithFormat:@"VideoFolder/%@/%@.mp4",self.folderName,self.movieName]]; BOOL exists = [fm fileExistsAtPath:folderPath]; if (exists) { NSURL *urls = [NSURL fileURLWithPath:folderPath]; movie = [[MPMoviePlayerController alloc]initWithContentURL:urls]; movie.controlStyle = MPMovieControlStyleDefault; [movie prepareToPlay]; [movie.view setFrame:CGRectMake(0, 0, 320, [UIScreen mainScreen].bounds.size.height-60)]; movie.movieSourceType = MPMovieSourceTypeFile; movie.initialPlaybackTime = -1; [self.view addSubview:movie.view]; //注册一个播放结束的通知 [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(movieFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification object:movie]; [movie play]; } [fm release]; } //当视频播放结束的时候关闭视频 -(void)movieFinishedCallback:(NSNotification*)notify { //视频播放对象 MPMoviePlayerController* theMovie = [notify object]; //销毁播放通知 [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:theMovie]; [theMovie.view removeFromSuperview]; [movie.view removeFromSuperview]; // 释放视频对象 // [movie release]; [theMovie release]; } //手动关闭视频 -(void)closeMovie { self.navigationItem.rightBarButtonItem.enabled = NO; [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:movie]; [movie.view removeFromSuperview]; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!