首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >之后在设备上进行iOS视频流和存储

之后在设备上进行iOS视频流和存储
EN

Stack Overflow用户
提问于 2011-06-09 16:49:06
回答 5查看 8.7K关注 0票数 28

到目前为止,我知道如何流式播放视频,以及如何下载并随后流式播放,但这里有一个棘手的部分:流式传输一次,将其存储在设备上,并在未来从设备上播放。

这有可能吗?

EN

回答 5

Stack Overflow用户

发布于 2011-07-12 08:33:43

保存视频非常容易。做一些类似这样的事情:

代码语言:javascript
运行
复制
//Saving Movie
NSMutableData *data = [[NSMutableData alloc] init];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];          
[archiver encodeObject:*MovieObject* forKey:@"MovieObjectDataKey"];
[archiver finishEncoding];
[[NSUserDefaults standardUserDefaults] setObject:data forKey:@"MovieObjectDefaultsDataKey"];
[archiver release];
[data release];

//Retrieving movie 
NSData *savedMovieData = [[NSUserDefaults standardUserDefaults] objectForKey:@"MovieObjectDefaultsDataKey"];
if (savedMovieData != nil) {
    NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:savedMovieData];
    *MovieObject* = [[unarchiver decodeObjectForKey:@"MovieObjectDataKey"] retain];
    [unarchiver finishDecoding];
    [savedMovieData release];
    [unarchiver release];
} else {
    //Download Stream of Your Movie
}

唯一需要修改的就是* MovieObject *,每一步都要修改一次。

票数 1
EN

Stack Overflow用户

发布于 2011-08-16 21:00:13

这里不太确定你是如何得到你的流的,但是看看AVAssetWriter,AVAssetWriterInput和AVAssetWriterPixelBufferAdaptor,一旦你接收到数据,你应该能够使用以下命令将数据追加到像素缓冲区适配器:

代码语言:javascript
运行
复制
appendPixelBuffer:withPresentationTime:

我不确定它是否适用于您,但通过一些调整,您应该能够调整您的输入以匹配此方法。有许多用于设置编写器的示例代码

票数 1
EN

Stack Overflow用户

发布于 2011-09-12 23:04:41

我知道你想实现什么,我只有一个变通办法。我不得不实现相同的行为,最终从服务器上流式传输视频,并在流式传输的旁边下载它。下次用户尝试流式传输视频时,请确定视频是否已下载到磁盘,否则再次流式传输。在正常情况下,视频已正确下载,并且可以离线查看。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6290251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档