有没有办法从 ios 中的 mp3 中提取嵌入的图像数据

2024-03-13

我知道 mp3 有时包含专辑插图(就我而言,我正在处理播客文件)。 iOS 有没有办法从 mp3 文件中提取图像数据?


MP3(包括播客)通常具有嵌入的元数据,包括艺术品。获取嵌入元数据(对于不在 iTunes 库中的 MP3)的最简单方法是通过AVAsset班级。如果您尝试通过网络获取元数据,请使用AVURLAsset相反,但访问元数据与两者相同。

AVAsset has an NSArray属性名为commonMetadata其中包含类的实例AVMetadataItem。您可以迭代该数组以查找带有commonKey(通常)“artwork" The value这个的属性AVMetadataItem应该是一个NSDictionary有关艺术品的数据。在这本词典中,您将找到关键“data“ 其中应该包含可用于构建UIImage。这是相当嵌套的,而且这个描述确实令人困惑。这是一个代码示例。

NSURL *url = <# url of resource here #>;
AVAsset *asset = [AVAsset assetWithURL:url];
for (AVMetadataItem *metadataItem in asset.commonMetadata) {
    if ([metadataItem.commonKey isEqualToString:@"artwork"]){
        NSDictionary *imageDataDictionary = (NSDictionary *)metadataItem.value;
        NSData *imageData = [imageDataDictionary objectForKey:@"data"];
        UIImage *image = [UIImage imageWithData:imageData];
         // Display this image on my UIImageView property imageView
        self.imageView.image = image;
    }
}

这又是一个如何从本地资源加载的非常简单的示例;如果您通过网络加载它,您应该使用AVURLAsset。还要注意此调用的阻塞性质。

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

有没有办法从 ios 中的 mp3 中提取嵌入的图像数据 的相关文章

  • 在横向中自动调整 UITableCells 内容的大小

    在 UITableView 中 我通过 UILabels 将内容添加到单元格中 定义最佳尺寸 与单元格宽度允许的一样大 我注意到只有tableView contentSize width是可靠的 因为cell contentView bou
  • 带操作按钮的颤动本地通知

    我在我的 flutter 项目中尝试了 flutter 本地通知插件 它在简单通知上工作正常 但我需要带有操作按钮的通知功能 请帮助我或建议我实现此功能 不幸的是 flutter local notifications 插件尚不支持操作按钮
  • UIScrollView setZoomScale 将应用的旋转设置回零

    我已经从事地图替换工作很长一段时间了 整个事情的工作原理是UIScrollView由一个支持CATiledLayer 为了旋转我的地图 我旋转图层本身 使用CATransform3DMakeRotation 到目前为止效果很好 但如果我打电
  • 是否可以使用 Firebase 安排推送通知? [复制]

    这个问题在这里已经有答案了 我已经阅读了我能找到的所有文档 但仍然不知道这是否可行 如果我是用户 我可以安排特定时间的推送通知吗 Example 1 我是用户并打开应用程序 2 我允许通知并转到 pickerView 或其他任何内容 并设置
  • 如何获取CATransition/Animation的结束事件?

    我的代码如下所示 CATransition transition CATransition animation transition duration duration 我希望得到CATransition Animation的结束事件 是否
  • Firebase 身份验证问题 - 通过电子邮件地址检查用户是否存在

    我在 Firebase 上创建了一个帐户 它有效 但现在我想阻止人们使用已存在的电子邮件地址创建帐户 这是代码 DatabaseManager shared userExists with email completion weak sel
  • 减少 CoreData 的调试输出?

    我正在开发一个使用 CoreData 的 iOS macOS 项目 它工作正常 但它会向控制台输出大量调试信息 这使得控制台无法使用 因为我的打印语句隐藏在所有与 CoreData 相关的内容中 我有一个非常简单的 CoreData 设置
  • 虚拟乐器 iPhone 应用程序中的 VoiceOver 辅助功能?

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

    我想在我的 iPhone 应用程序中添加赞成和反对投票 MyStacks http itunes apple com gb app mystacks id360030953 mt 8 为此 我需要能够使用 Stack Overflow 对用
  • AVAssetExportSession 为零 iPhone 7 - Plus 模拟器

    AVAssetExportSession在 iPhone 6 及以下版本上运行良好 但在 iPhone 7 iPhone 7 Plus 模拟器上运行不佳 Xcode 8 0 这段代码return nil在exportSession中 当在i
  • ios水平居中约束问题?

    I am having hard time in learning constraints auto layout in iOS I have used any width any height I have a storyboard sc
  • 如何让按钮闪烁?

    我试图在扫描正确时将按钮的颜色 只是闪烁 闪烁 更改为绿色 在出现问题时将按钮的颜色更改为红色 我可以用这样的视图来做到这一点 func flashBG UIView animateWithDuration 0 7 animations s
  • 哪些 Flutter 插件或功能可以利用外部 iOS/Android 显示器来显示与主显示器不同的内容

    我正在构建一个跨平台应用程序 需要在外部显示器上显示不同的视图 通常通过连接到 LCD 投影仪的 HDMI 适配器电缆连接 Flutter 是否能够在内置的外部显示器上显示不同的屏幕 在现有的 Flutter 插件中还是使用现有的 Flut
  • 水平 UICollectionView 单行布局

    我正在尝试使用以下命令设置简单的水平布局UICollectionView 兜圈子却没有达到预期的结果 所以任何指针或例子将不胜感激 我粘贴经常更改的代码但没有成功可能没什么意义 该图像显示两行 第一行是单个项目 尺寸正确并且在中心正确对齐
  • 如何阻止 UITableView moveRowAt IndexPath 在重新排序时留下空白行

    我遇到一个问题 在重新排序 UITableViewCells 时 tableView 不随单元格滚动 仅出现一个空白行 任何后续滚动都会出现数组越界错误 堆栈跟踪中没有我的任何代码 这是该问题的快速视频 http www screencas
  • UIImageJPEGRepresentation 在视网膜显示屏上提供 2x 图像

    我有这段代码 它创建一个图像 然后向其添加一些效果并缩小其大小以使其largeThumbnail UIImage originalImage UIImage imageWithData self originalImage thumbnai
  • 如何在 iOS 8 中关闭两个 UIViewController?

    我正在使用 Objective C 开发 iPhone 应用程序 由于我需要一次关闭两个 UIViewController 所以我使用下面的代码 self presentingViewController presentingViewCon
  • JavaFX ImageView 未更新

    因此 我尝试将图像加载并保存到 imageView 中 其中图像的位置是通过文件浏览器选择的 我已经为此工作好几天了 如果我不能解决这个问题 我就会中风 我已经尝试了我能想到的一切 预先感谢您的帮助 UPDATED 这是我的主要课程 pub
  • Xcode 8 / Swift 3:“UIViewController 类型的表达式?未使用”警告

    我有以下函数 它之前编译得很干净 但在 Xcode 8 中生成警告 func exitViewController navigationController popViewController animated true UIViewCon
  • 在发生更改事件时将货币格式重新应用到 UITextField

    我正在使用一个包含本地化货币值的 UITextField 我看过很多关于如何使用此功能的帖子 但我的问题是 如何在每次按键后将货币格式重新应用到 UITextField 我知道我可以通过以下方式设置和使用货币格式化程序 NSNumberFo

随机推荐

  • 如何连接 AWS DynamoDB 中的表?

    我知道整个设计应该基于自然聚合 文档 但是 我正在考虑实现一个单独的本地化表 语言 键 文本 然后使用其他表中的键 但是 我找不到任何这样做的例子 您是对的 DynamoDB 并非设计为关系数据库 并且不支持联接操作 您可以将 Dynamo
  • 使用 python/pandas 的字典理解与 str.contains 进行部分字符串匹配

    我有一个数据框 其中有一列名为course names使用带有课程名称列表的映射字典 我希望在键中匹配我想要在值列中分配的值 import pandas as pd df pd DataFrame course name Phsyics M
  • 获取所选元素的外部 HTML

    我正在尝试使用 jQuery 获取所选对象的 HTML 我知道 html 功能 问题是我需要包含所选对象的 HTML 在本例中为表格行 其中 html 仅返回行内的单元格 我四处搜索 发现了一些非常 hackish 类型的方法来克隆对象 将
  • Python:linecache 没有按预期工作?

    你好 我有这个 python 脚本 我需要用它来遍历一些目录并提取这些目录中的一些文件中的一些信息 所以我有很多目录 每个目录中还有 5 个子目录 在这 5 个子目录中 每一个都有 3 个文本文件 一个是我忽略的 txt 另一个是我需要阅读
  • 将切片的所有项目添加到通道中

    在 Go 中 是否有比以下更惯用的方法将数组 切片的所有元素添加到通道中 ch make chan string values string lol cat lolcat go func for v range values ch lt v
  • 可执行文件和可重定位目标文件的疑问

    我写了一个简单的Hello World 程序 include
  • 数据库安全组只能与使用 API 版本的 VPC 数据库实例关联

    我有下面的代码在 aws 中创建 RDS 实例 import boto rds REGION us east 1 INSTANCE TYPE db t1 micro ID MySQL db instance database test2 U
  • 使用 AJAX 关闭 Bootstrap 的模式

    我使用的模式是Twitter 的 Bootstrap http getbootstrap com 2 3 2 javascript html modals您可以通过单击按钮或与标签不同的内容来关闭模式data dismiss modal 我
  • IntelliJ:Ubuntu/linux 如何从 shell 使用 IntelliJ 打开文件

    遵循这个问题 似乎可以在 MAC 上使用 IntelliJ 从 shell 打开文件 IntelliJ 如何从命令行打开现有 IntelliJ 中的文件 https stackoverflow com questions 2695820 i
  • 如何按列值对数据框进行排序?

    我对 python 和 pandas 数据框架比较陌生 所以也许我在这里错过了一些非常简单的东西 因此 我的数据框包含许多行和列 但最后最终设法仅从每一列中获取具有最大值的一行 我用这段代码来做到这一点 import pandas as p
  • 在 OS X 上构建 valgrind

    我试图在 macOS Sierra 版本 10 12 6 上安装 valgrind 运行 configure sh时 出现以下错误 检查受支持的 gcc 版本 配置为 prefix Library Developer CommandLine
  • Material React 分页,更改每页行数

    Material React 分页组件是否有页面大小选项 每页行数 我在列出的 API 中没有看到它 我知道 TablePagination 组件可以 但是常规组件似乎没有
  • 如何在 play (2.3) 框架内从 Java 控制器代码中的 String 变量构造 Html 对象

    I am just开始使用 play 框架 我试图了解 java 应用程序代码和基于 scala 的模板框架之间的交互 注意 到目前为止 我对 Scala 一无所知 除了它是另一种编译语言之外到 JVM 上的字节码 并且 Scala 和 J
  • 具有模糊背景的 C# 对话框窗体

    下午好 Just a simple question Is it possible to make a parent form blurry while you show a new dialog form in winforms if i
  • Azure Bot 通道注册,通道部分为空

    我在 Azure 门户上使用 机器人通道注册 服务时遇到问题 创建服务后 频道 部分不会加载 仅保留空白 Screenshot 有什么帮助吗 经过多次测试 我通过将Azure门户的语言和区域更改为英语 美国 解决了该问题
  • 如何清除服务总线主题订阅的消息

    只是想知道从服务总线主题的订阅中清除消息的最佳方法 即使通过 Portal Powershell 或 C 假设我们有一个包含 4 个订阅的主题 而我们只想清除其中一个订阅中的消息 我有一种感觉 唯一的方法可能是在 while 循环中阅读消息
  • 节点:Socket io require.resolve 不是一个函数吗?

    我很惊讶谷歌搜索没有给我任何结果 无论如何 这是我使用时的问题socket io 当我进一步检查时 是来自 socket io index js 源文件 第 28 行 导致了问题 var clientSource read require
  • 评估数学表达式

    我正在寻找一种可用于评估数学表达式的算法 我在 SO 上看到了一些类似的问题 但答案是 C Delphi 或 python 特定的 我需要用 C 语言编写算法 我试图解决的问题是给定一个用户输入 例如 3 2 x 1 x 我可以计算 x 的
  • D3DERR_INVALIDCALL 错误,TeamCity 生成器

    我一直在尝试使用 TeamCity 4 5 来自动构建 XNA 项目 但我遇到了一个小问题 我的项目在 Visual Studio 2008 下可以正确编译 但在使用 TeamCity 作为生成器进行编译时则无法正确编译 配置文件使用 sl
  • 有没有办法从 ios 中的 mp3 中提取嵌入的图像数据

    我知道 mp3 有时包含专辑插图 就我而言 我正在处理播客文件 iOS 有没有办法从 mp3 文件中提取图像数据 MP3 包括播客 通常具有嵌入的元数据 包括艺术品 获取嵌入元数据 对于不在 iTunes 库中的 MP3 的最简单方法是通过