【问题标题】:Finding video type from NSData从 NSData 中查找视频类型
【发布时间】:2014-11-06 12:18:38
【问题描述】:

我正在从第三方提供的 URL 加载视频。 URL 上没有文件扩展名(或文件名)(因为它是一个模糊的 URL)。我可以从中获取数据(以 NSData 的形式)并将其加载到视频播放器中并正常显示。

我想将此数据保存到文件中。但是,我不知道数据是什么格式(mp4,wav)?我认为它是 mp4(因为它是来自网络的视频),但是否有一种程序化的方式可以确定?我查看了 StackOverflow 和文档,但找不到任何东西。我只是想知道文件扩展名是图像还是视频。

【问题讨论】:

  • 除了检查内容类型之外,几乎所有照片、音频和视频文件格式(在前 8-16 个字节中)都以某种可以检查的“签名”开头,或者使用ad-hoc 代码(检查一些文件并找出答案)或您可能在网络上可以找到的固定例程(如果 iOS 没有内置)。
  • 我已经检查了这些链接。但我想要下载的 NSData 格式或文件扩展名。它可以是音频视频或图像。对于图像,我可以检查格式或扩展名。但是对于视频和音频,我没有得到正确的检查方法。

标签: ios iphone ios7 ios8 ios8.1


【解决方案1】:

您应该检查服务器返回的内容类型:

- (void)connection:(NSURLConnection*)connection didReceiveResponse:(NSURLResponse*)theResponse
  {
    NSString* content_type = [[(NSHTTPURLResponse*)theResponse allHeaderFields] valueForKey:@"Content-Type"];

    //content_type might be image/jpeg, video/mp4 etc.
  }

【讨论】:

  • 我正在使用异步块来获取数据。所以这对我来说不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 2016-01-28
  • 1970-01-01
  • 2016-12-30
  • 2016-11-12
  • 2014-03-14
  • 1970-01-01
相关资源
最近更新 更多