当前位置: 首页 > 知识库问答 >
问题:

使用Cocoa-Touch从Documents目录中播放下载的视频

太叔英卫
2023-03-14

我正在尝试让我的应用程序播放下载到文档目录的视频文件。我知道该文件正在下载,但似乎无法播放该文件,以下是我的代码

-(IBAction)play{

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"%@/piggy.m4v"];

NSURL *movieURL = [NSURL fileURLWithPath:path];


_player = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
[self.view addSubview:_player.view];

_player.controlStyle = MPMovieControlStyleDefault;
_player.shouldAutoplay = YES;


[_player setFullscreen:YES animated:YES];


[_player play];

}

共有1个答案

麻昌翰
2023-03-14

这看起来像是某种bug,但您必须这样设置路径:

 NSString *vidPath = [[NSBundle mainBundle] pathForResource:@"promo" ofType:@"mp4"];
 NSURL *url = [NSURL fileURLWithPath:vidPath isDirectory:NO]; //THIS IS THE KEY TO GET THIS RUN :) 
 [introPlayer setContentURL:url];
 类似资料:
  • 我有一个URL:-“http://fitnation.theclientdemos.com:9000/media/uploads/videoplayback_3_jtvchi1”当我在浏览器上运行这个URL时,我的VDO开始下载。 请帮助在视图中播放此视频(让视图名称为:-vdoView) 为此,我尝试以下代码:-

  • 简单实现视频的边下载边播放功能。 原理是这样的: 在iOS本地开启Local Server服务,然后 MPMoviePlayerController 请求本地Local Server服务。本地Local Server服务再不停的去对应的视频地址获取视频流。本地Local Server请求的时候,就可以把视频流缓存在本地。 作者说:网上看到的教程没有相对应的demo。就写一个希望对初学者有所帮助。大

  • UIViewController(视图控制器),顾名思义,是 MVC 设计模式中的控制器部分。UIViewController 在 UIKit 中主要功能是用于控制画面的切换,其中的 view 属性(UIView 类型)管理整个画面的外观。 UIViewController 生命周期 ViewController 生命周期的第一步是初始化。不过具体调用的方法还有所不同。如果使用 StoryBoar

  • UIView 表示屏幕上的一块矩形区域,负责渲染区域的内容,并且响应该区域内发生的触摸事件。它在iOS App中占有绝对重要的地位,因为iOS中几乎所有可视化控件都是 UIView 的子类。 UIView 可以负责以下几种任务: 绘制和动画 布局和子视图管理 事件处理 绘制和动画 视图绘制 UIView 是按需绘制的,当整个视图或者视图的一部分由于布局变化,变成可见的,系统会要求视图进行绘制。对于

  • UIApplication 的核心作用是提供了 iOS 程序运行期间的控制和协作工作。 每一个程序在运行期必须有且仅有一个 UIApplication(或则其子类)的一个实例。在程序开始运行的时候,UIApplicationMain 函数是程序进入点,这个函数做了很多工作,其中一个重要的工作就是创建一个 UIApplication 的单例实例。在你的代码中你,你可以通过调用 [UIApplicat

  • 生成条码的iOS类库。 开发者注:测试很简单。 self.view.backgroundColor = [UIColor whiteColor]; UIImage *image = [UIImage imageFromBarcode:[[NKDEAN13Barcode alloc] initWithContent:@“6917878002446”]]; UIImageView *imageview