如何检查在 NSData 中转换的媒体类型

Posted

技术标签:

【中文标题】如何检查在 NSData 中转换的媒体类型【英文标题】:How can I check type of media converted in NSData 【发布时间】:2016-11-15 11:13:39 【问题描述】:

在应用程序中,我有一个屏幕,允许用户添加图像或录制的音频声音。我已经成功配置了这两个意思,我在 CoreData 中拥有NSData 的图像和NSData 的录制声音文件。我有一个包含tableView 的媒体屏幕,我想在其上显示附加媒体。用户将能够查看内容含义,如果它是他可以点击单元格并查看它的图像,或者它是应该播放声音的声音。 我已将 tableView 转换为具有不同单元格的两个部分(带有图像视图的单元格,带有播放停止按钮的单元格),现在我想在声音部分显示声音,在图像部分显示图像。我的 问题是我都有 NSData 形式的数据。 如何转换并找出天气是声音文件还是图像文件?如果有人想查看任何代码,我可以更新我的问题。

【问题讨论】:

你不知道CoreData中添加的数据是音频还是图像?如果是这种情况,请在您的实体上添加一个属性来指定类型。 我建议将图像和音频文件分别存储在硬盘中,并将路径存储在coredata中。它将优化您的应用程序。在 coredata 中添加两个不同的实体,一个用于音频,一个用于图像。 @Larme 我尝试了你建议的这种方式,但我被困在了一个点上。请看这里:***.com/questions/40746603/… 【参考方案1】:

您可以检查如下:

UIImage *image= [UIImage imageWithData:data];
if(image != nil)
   // image
 else
   // video

检查:https://***.com/a/27235562/3901620

【讨论】:

以上是关于如何检查在 NSData 中转换的媒体类型的主要内容,如果未能解决你的问题,请参考以下文章

如何将 CMSampleBufferRef 转换为 NSData

将带有 exif 的图像转换为 NSData 类型

如何将 UIImage 转换为 NSData 或 CFDataRef?

如何在 iOS 中将 NSData 变量转换为 NSInteger 变量

如何在 iOS 中将 mp4 文件存储为 Data 或 NSData 对象?

如何将String转换成UInt8或NSData