iPhone SDK:如何将视频文件下载到文档目录然后播放?

2023-12-26

我已经在这个代码上闲逛了很多年了,如果有人可以提供从服务器下载此文件的代码示例,我将非常感激http://www.archive.org/download/june_high/june_high_512kb.mp4 http://www.archive.org/download/june_high/june_high_512kb.mp4,(顺便说一句,它实际上不是这个文件,它只是任何试图帮助我的人的完美示例),然后从文档目录中播放它。我知道我问这个问题似乎很懒,但我尝试了 NSURLConnection 的许多不同变体,这让我发疯。 另外,如果我确实设法下载了视频文件,那么我假设此代码将成功播放它是否正确:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"june_high_512kb.mp4"]; 
NSURL *movieURL = [NSURL fileURLWithPath:path]; 
self.theMovie = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
[_theMovie play];

如果上面的代码可以从文档目录播放视频文件,那么我想我唯一需要知道的是,如何从服务器下载视频文件。这似乎是我的主要问题。任何帮助是极大的赞赏。


您的代码将可以播放电影文件。

最简单的下载方式是同步:

NSData *data = [NSData dataWithContentsOfURL:movieUrl];
[data writeToURL:movieUrl atomically:YES];

但最好是异步下载(对于应用程序响应能力等):

    NSURLRequest *theRequest = [NSURLRequest requestWithURL:movieUrl cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:60];
    receivedData = [[NSMutableData alloc] initWithLength:0];
        NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self startImmediately:YES];

这需要实现非正式的 NSURLConnection 协议:

- (void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
    [receivedData setLength:0];
}

- (void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
    [receivedData appendData:data];
}

- (void) connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
    [connection release];
}

- (NSCachedURLResponse *) connection:(NSURLConnection *)connection willCacheResponse:(NSCachedURLResponse *)cachedResponse {
    return nil;
}

- (void) connectionDidFinishLoading:(NSURLConnection *)connection {
    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
    [connection release];
    [self movieReceived];
}

然后在 movieReceived 方法中保存(并播放)电影文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iPhone SDK:如何将视频文件下载到文档目录然后播放? 的相关文章

  • 不使用 MFMailComposeViewController 发送邮件

    我想从 iPhone 应用程序发送邮件而不显示MFMailComposeViewController 我还希望从用户的默认邮件帐户发送此邮件 是否有可能做到这一点 iPhone SDK 不支持这一点 可能是因为 Apple 不希望您这样做
  • iPhone:OpenGL ES:检测您是否点击了屏幕上的对象(立方体)

    我已经问了一个类似的问题 这让我达到了现在的水平 但我真的需要一些帮助 这是我完成一些很酷的事情的最后一件事 在我看来哈哈 我有一个 3D 世界 我可以在其中移动 这个世界里有简单的立方体 使用函数 CGPoint getScreenCoo
  • 如何降低iphone的sdk Audioqueue的声音?

    我正在使用 Aran Mulhollan 的 RemoteIOPlayer 在 SDK iphone 中使用音频队列 我可以毫无问题 添加两个信号来混合声音 通过乘以从 wav 文件中获得的 UInt32 来增加音量 但所有其他操作都会给我
  • AVAudioPlayer只能在模拟器中播放,但不能在设备中播放,为什么?! (iPhone-SDK)

    我有以下播放声音的简单代码 NSString soundPath NSBundle mainBundle pathForResource sound ofType wav player AVAudioPlayer alloc initWit
  • UIButton 图像未更改/更新

    首先 我对 Objective C 还很陌生 并且仍在尝试尽可能多地学习 所以请耐心等待 现在我有一个以编程方式创建的 UIButton 按下按钮时 将显示一个 UIActionSheet 其中包含 相机 选择照片 或 取消 选项 然后 按
  • 从视频创建缩略图 - 提高速度性能 - AVAsset - iPhone [重复]

    这个问题在这里已经有答案了 我正在使用基于以下线程中的代码的代码来生成视频缩略图 从 iPhone SDK 中的视频 URL 或数据获取缩略图 https stackoverflow com questions 1347562 gettin
  • 带有子视图的 UIView beginAnimations

    我有一个漂亮且简单的视图 缩放 动画 它以一个点开始并动画到全屏尺寸 UIView beginAnimations nil context NULL UIView setAnimationBeginsFromCurrentState YES
  • NSDictionary 上的 NSPredicate

    我试图根据字母表在表格视图中创建部分 并在这些部分下按字母顺序对我的条目进行排序 我已经收集了 bandArrayIndex 中 bandArray 每个条目的第一个字母 现在我尝试使用 NSPredicate 来计算每个字母有多少个 我正
  • Android Webview:无法调用确定的可见性() - 从未见过 pid 的连接

    我有一个 Android Webview 当我单击链接下载文件 pdf 图像等 时 我收到一条错误消息 Error message Cannot call determinedVisibility never saw a connectio
  • 最小的 iOS 蓝牙管理器示例

    我一直在构建一个最小的示例 用于使用 iOS 5 0 中的 BluetoothManager 私有框架来检测附近的蓝牙设备 使用此问题中找到的答案 寻找触手可及的通用蓝牙设备 https stackoverflow com question
  • 如何在 NSMutableArray 中实现“按值分组”?

    我正在使用 NSMutableArray 我想像在 SQL 中那样按日期获取值group by log date logMuArray log currenttime 4 30pm log date 11 12 2011 log durat
  • 从 UIImagePickerController 相机视图推送 viewController

    我正在开发一款消息应用程序 类似于 WhatsApp 用户可以互相发送文本和图像消息 当用户想要发送图像时 他可以从相机胶卷中选择一张图像 也可以用相机拍摄一张图像 这就是我介绍的方式UIImagePickerController对于这两种
  • 如何将 NSDecimal 值转换为 NSInteger 值?

    我遇到一种情况 我得到一个 NSDecimal 并且我需要一个 NSInteger 我确实知道这是一个非常小的值 这是绝对肯定的 它不会大于 100 所以将它转换为 NSInteger 就完全没问题 不会发生溢出 这怎么可能做到呢 NSDe
  • 如何获取CATransition/Animation的结束事件?

    我的代码如下所示 CATransition transition CATransition animation transition duration duration 我希望得到CATransition Animation的结束事件 是否
  • 如何将 UILabel 的值绑定到实例变量?

    我是 mac objective c 的新手 我的问题是 我想知道是否可以将 UILabel 文本绑定到变量 而不必在值更改时手动设置文本 例如 在 Mac OS 上 当我打开新的 Finder 窗口并删除文件时 任务栏中的全局可用空间就会
  • 虚拟乐器 iPhone 应用程序中的 VoiceOver 辅助功能?

    我收到盲人用户的评论 称我的一些声音和音乐相关应用程序只能在关闭 VoiceOver 的情况下使用 在 iOS 设备上启用 VoiceOver 辅助功能后 是否可以启用音乐键盘或鼓垫触摸区域 以便在点击键盘键或虚拟鼓组 等 时可以立即播放音
  • 以编程方式使用 Stack Overflow 进行身份验证

    我想在我的 iPhone 应用程序中添加赞成和反对投票 MyStacks http itunes apple com gb app mystacks id360030953 mt 8 为此 我需要能够使用 Stack Overflow 对用
  • 在 iPhone 中缝合图片

    我想并排缝合2张png 在Cocoa中 我会使用 NSImage initWithSize 然后只是drawInRect 但是 UIImage 没有 initWithSize 类 我现在该怎么做 Use UIGraphicsBeginIma
  • 如何阻止 UITableView moveRowAt IndexPath 在重新排序时留下空白行

    我遇到一个问题 在重新排序 UITableViewCells 时 tableView 不随单元格滚动 仅出现一个空白行 任何后续滚动都会出现数组越界错误 堆栈跟踪中没有我的任何代码 这是该问题的快速视频 http www screencas
  • UIView晃动动画

    我试图在按下按钮时使 UIView 摇动 我正在调整我找到的代码http www cimgf com 2008 02 27 core animation tutorial window shake effect http www cimgf

随机推荐

  • 如何使选项菜单始终显示在屏幕上

    我需要始终在屏幕上显示选项菜单 我已经编写了在活动启动时打开选项菜单的代码 Override public void onAttachedToWindow openOptionsMenu 但是 单击屏幕上的另一个项目时 菜单会下降 我希望菜
  • 保留history.pushState ie8-9的黑客

    在大多数现代浏览器上 我可以使用 history pushState Our Work url path 显然 IE 不支持这一点 但我想知道为什么我的简单 hack 不起作用 history pushState function stat
  • 无法删除 matplotlib 在 imshow() 图周围的填充

    我正在将 matplotlib 嵌入到我的 PyQt4 GUI 中 我玩得很开心 我可以显示图像 但它在我想要删除的内容周围添加了非常厚的填充 这就是我正在做的 from PyQt4 QtCore import from PyQt QtGu
  • 使用 MethodHandle::invokeExact 作为方法引用引起的 LambdaConversionException 导致的 BootstrapMethodError

    我试图检查是否可以使用 MethodHandle invoke 或 MethodHandle invokeExact 作为接受 MethodHandle 并返回通用输出的功能接口的方法引用 我知道 invoke 和 invokeExact
  • 关于高分辨率性能计数器及其与.NET Stopwatch相关的存在的解释?

    静态内部Stopwatch在构造函数中我们可以看到下面的代码 它主要检查高分辨率性能计数器是否存在 static Stopwatch if SafeNativeMethods QueryPerformanceFrequency out Fr
  • 但是, import sklearn 仍然给我错误。下面给出更多细节。我该如何解决这个问题?

    我在 Windows 7 上使用 python3 6 之前尝试过 python3 8 来解决同样的问题 我已经安装了 joblib 0 14 0 numpy 1 17 4 scikit learn 0 22 和 scipy 1 3 3 用于
  • 导入 igraph 时出错

    在 python 中导入 igraph 时 出现错误 见下文 由于 igraph 不是 anaconda 的一部分 因此我执行了以下概述的安装步骤 libglpk 35 dylib是什么 我应该如何加载它 为什么会出现这个问题 igraph
  • Visual Studio 可扩展性,如何枚举解决方案中的项目?

    只是想加快 SDK 的使用速度 所以 我创建了自己的工具窗口 现在我想迭代当前加载的解决方案中的现有项目并在工具窗口中显示它们的名称 但不太确定枚举项目的最佳方式是什么 有什么线索吗 检查这个微软的代码 https github com M
  • 使用 OpenCV 生成鸟瞰图/顶视图

    我正在尝试从图像生成鸟瞰图 对于相机的内在特性和变形 我使用的是从驾驶模拟器中检索到的硬编码值 该模拟器的顶部安装了相机 代码的基础来自 使用 OpenCV 库学习 OpenCV 计算机视觉 第 409 页 当我在包含每行 3 个内角 每列
  • ggplot 指定分类 x r 的垂直线段的位置

    我正在绘制行数据 并为统计计算的拟合值添加了一段可信区间和一个黑点 我的问题是我想让这些线 和黑点 相对于行数据稍微移动 水平 我尝试了抖动及其所有可能的组合 结果很糟糕 因为我从不同的列中获取了 y start 和 end 的值 因此 由
  • 泛型中奇怪的嵌套结构类型

    有人可以解释一下嵌套在泛型中的结构类型的奇怪构造吗 implicit def Function1Functor R Functor type R gt new Functor type R gt 这个例子来自Scalaz库 函子 scala
  • 毫秒是python中箭头时间库的一个特性吗

    使用这种方法 arrow utcnow format YYYY MM DD HH mm ss 或者箭头中类似的东西是否可以将毫秒添加到时间中 事实上 您最多可以使用 6 位数字来表示秒的小数部分 gt gt gt now arrow utc
  • 使用正则表达式有效测试“EndsWith”

    我需要构建一个正则表达式 NET 语法 来确定字符串是否以特定值结尾 具体来说 我需要测试文件是否具有特定扩展名 或一组扩展名 我试图修复的代码使用的是 png jpg gif 在我的场景中 对于失败的匹配来说 速度非常慢 可能是由于回溯
  • 工作表、单元格和范围的默认范围是什么?

    当您仅键入 worksheets 时 默认范围 ActiveWorkbook 或 ThisWorkbook 是什么 对于那些不了解这些区别的人来说 它们非常重要 尤其是在 Excel 2013 中 当您希望在切换到不同工作簿时运行宏时 在标
  • 如何高效调试webpack应用?

    我正在尝试在我的项目中采用 webpack 开发服务器 我知道它被广泛采用 因此令我惊讶的是调试应用程序似乎非常困难 由于 webpack 默认情况下会生成一个巨大的包 因此源映射是必须的 我对他们有一个很大的问题 根据devtool模式下
  • 用索引展平嵌套列表

    给定一个任意大小的任意深度嵌套列表的列表 我想要一个对树中所有元素进行平面 深度优先的迭代器 但也具有路径索引 使得 for x y in flatten L x L y 0 y 1 y 1 That is L 1 2 3 4 5 6 7
  • RxJava 缓冲区直到更改

    我有一个可观察的对象 它会发出大量数据 例如 1 1 1 2 2 2 3 3 1 1 5 5 在RxJava中我们可以使用直到改变 http reactivex io documentation operators distinct htm
  • jQuery 获取多个属性

    我有一个元素需要获取一组特定属性 例如 div class myClass div 在这个例子中 我需要获取所有data 属性并将它们放入数组 名称和值对 中 在此示例中 最终数组将如下所示 myDataArray data country
  • 在运行时更改 Swift 中文本字段的键盘类型

    我想知道是否有一种方法可以检查文本字段是否包含特定字符 如果是这种情况 请更改显示的键盘类型 这是我尝试过的 但无法改变 这是当编辑文本字段发生更改时发生的操作 IBAction func decOrNot sender Any let c
  • iPhone SDK:如何将视频文件下载到文档目录然后播放?

    我已经在这个代码上闲逛了很多年了 如果有人可以提供从服务器下载此文件的代码示例 我将非常感激http www archive org download june high june high 512kb mp4 http www archi