从 MP3 文件/ID3 标签获取专辑封面

2023-12-01

我正在尝试从 MP3 文件获取专辑封面。

在这种情况下我使用AVAudioPlayer播放文件。

这是代码我以为将获得专辑封面:

MPMusicPlayerController *controller = [MPMusicPlayerController applicationMusicPlayer];

MPMediaItem *current = controller.nowPlayingItem;

MPMediaItemArtwork *artwork = [current valueForProperty:MPMediaItemPropertyArtwork];
UIImage *artwork2 = [artwork imageWithSize:artwork.bounds.size];
[artworkView setImage:artwork2];

However artworkView不包含任何图像。

我有点卡住了。

如果有人可以帮助我提供有关在哪里/如何直接从 ID3 标签获取艺术品的建议,那将很有用。

任何帮助表示赞赏。


您必须使用 enumerateValuesForProperties 这是一个示例:

[item enumerateValuesForProperties:[NSSet setWithObjects:MPMediaItemPropertyTitle,MPMediaItemPropertyAlbumTitle,MPMediaItemPropertyArtist,MPMediaItemPropertyArtwork,nil]
                                 usingBlock:^(NSString *property, id value, BOOL *stop) {
                                     if ([property isEqualToString:MPMediaItemPropertyTitle]){
                                         if (value){
                                             titre=value;
                                         }else {
                                             titre=@"";
                                         }
                                     }
                                     if ([property isEqualToString:MPMediaItemPropertyArtist]){
                                         if(value){
                                             artist=value;
                                         }else {
                                             artist=@"";
                                         }

                                     }
                                     if ([property isEqualToString:MPMediaItemPropertyArtwork]){
                                         MPMediaItemArtwork *art=value;
                                         if (art!=nil){
                                             imgV.image=[art imageWithSize:CGSizeMake(self.view.bounds.size.width, self.view.bounds.size.width)];
                                     }

                                     }


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

从 MP3 文件/ID3 标签获取专辑封面 的相关文章

  • 使用 NSError 检查错误的正确结构

    我正在编写各种例程 并尽力保持其整洁和重构 我正在创建的方法开始看起来与此代码类似 IBAction buttonPress id sender Create Document Shopping List with this documen
  • 使用 Interface Builder 创建 UIScrollView 的步骤

    我正在尝试使用 UIScrollView 但似乎有一些基本的事情我不理解 假设我想在我的 iPhone 应用程序中使用 UIScrollView 我有一个充满按钮的视图 尺寸为 320x700 显然 这对于 320x480 的 iPhone
  • iOS 中的 CSV 逐行解析

    我正在 Objective c 中解析 CSV 文件 该文件包含如下内容 line 40 Rising searches line 41 nabi avc Breakout line 42 stonewall 700 line 43 med
  • 关于窗口层次结构的警告

    我的调试器中出现这样的警告 这是什么意思 Warning Attempt to present
  • 使用 MFMailComposeViewController 类从 iPhone 应用程序发送带有 IMG 标签的 HTML 电子邮件

    我正在使用 MFMailComposeViewController 类从我的 iPhone 应用程序发送格式化的 HTML 电子邮件 我需要在电子邮件中包含图像 并且我在电子邮件正文中添加了 IMG 标签 IBAction shareWit
  • 拖动时获取MKAnnotation的坐标

    我正在根据用户添加的注释的位置创建一条路径 MKPolyline 我想允许用户通过拖动引脚来更改路径 我目前可以做到这一点 但 MKPolyline 不会更新 直到引脚被放下 我实施了 void mapView MKMapView mapV
  • 苹果推送通知在生产中不起作用

    我们完全陷入困境 请帮忙 我和我的团队制作了一个 iPhone 应用程序 这是我们第一次在 iOS 上尝试 一切都很好 直到我们提交应用程序并在应用程序商店上可用为止 推送通知服务无法正常工作 我在网上搜索并尝试根据人们的建议仔细检查我们的
  • 无法在 Windows 上使用 Gnustep 编译 Objective C

    嗨 我是初学者 学习目标c 我发现错误 hello m 1 34 Foundation Foundation h 没有这样的文件或目录 我开始知道我需要制作一个 make 文件 我可以知道如何制作 make 文件吗 无需创建 makefil
  • 如何使 for 循环以与 NSLog(@"%@", arrData) 相同的顺序迭代

    我执行了以下代码NSLog arrData 调试器中的输出预计如下所示 0 first name John 1 first name Florence 2 first name Melinda 3 first name Zack 然后我执行
  • 在 swift3 中结合平移、alpha 和缩放动画

    我是 iOS Swift 开发的新手 我尝试将三个参数组合在一个动画中 但没有成功 我认为解决方案就在这里 Apple Dev Core 动画编程指南 https developer apple com library content do
  • 如何测试 UITextField 是否为零?

    我正在尝试制作我的应用程序的一部分 如果该人不更改我的 UITextField 中的空白文本 那么他 她将无法继续下一步 基本上 我想测试 UITextField 的 nil 文本 我已经使用了 if text 方法 但是如果用户单击 UI
  • 在运行时获取 iPhone 应用程序的产品名称?

    如何才能实现这一目标 我想获取名称 以便可以在应用程序中显示它 当然 每次更改名称时不必在代码中更改它 Try this NSBundle bundle NSBundle mainBundle NSDictionary info bundl
  • 在午夜更新应用程序徽章,并提供以下选项:应用程序未启动或在后台,徽章数量可能会减少

    我正在阅读许多有关本地通知的内容以及它们如何帮助更新应用程序徽章编号 我想在午夜更新此徽章 并将其值设置为我在午夜之前无法知道的数字 因此 如果可能的话 我想在午夜启动一个功能来更新 加载一些数据 检查要显示的数字 并将其显示在徽章上 当然
  • Swift 闭包作为 AnyObject

    我尝试使用这个方法 class addMethod 在 Obj c 中使用如下 class addMethod self class selector eventHandler imp implementationWithBlock han
  • 两者都实现了类。将使用两者之一

    我有一个项目 它具有使用 SocketRocket 的依赖项 通过 CocoaPods 安装 并从 HeapAnalytics 导入了静态库 显然 HeapAnalytics 库已经使用了 SocketRocket 编译时没有出现错误 但在
  • 为什么使用[ClassName alloc]而不是[[self class] alloc]?

    我正在读马克 达尔林普尔 Mark Dalrymple 的著作在 Mac 上学习 Objective C 仅在协议章节 所以仍然相对较新 并试图弄清楚一些事情 为什么要通过类自己的名称来引用它 如果我有一个叫做Foo 为什么我会想写 比如说
  • iCloud loadFrom Contents - 如何处理 UIDocumentStateSavingError 和 UIDocumentStateEditingDisabled

    我在我的应用程序中使用 iCloud 来加载文本文件 加载文本文件时 当我调用时 iCloud 会调用此方法 UIDocument openWithCompletionHandler BOOL success etc BOOL loadFr
  • 私人 iPhone 应用程序?

    我有兴趣编写连接到内部网或外部网的应用程序 换句话说 我想为我的客户制作私人应用程序 但我不希望每个人都能够访问它并能够下载它 您知道是否有一种方法可以将企业应用程序仅分发给特定的人 Android 也做同样的事情吗 The iPhone
  • UIWebView 中的 PDF

    我正在创建一个杂志应用程序 我在 UIWebView 中显示杂志的每一页 不过 Web 视图不会用 PDF 填满屏幕 它周围有一个边界 我怎样才能全屏显示它 我还没有使用 UIWebView 尝试过此操作 但您也许可以执行类似的操作来以编程
  • NSURL URLWithString:引发异常

    简而言之 NSURL URLWithString 似乎引发了一个例外 根据文档 如果字符串格式错误 则返回 nil 没有提到在任何情况下都会引发异常 除此之外 我还对 URL 进行编码并检查nil在将字符串转换为 URL 之前 任何人都可以

随机推荐

  • .Net TextBox 具有自动完成和自定义排序(非字母顺序)

    我正在搜索具有默认自动完成功能的文本框控件 但建议中的条目应像列表中的项目一样排序 例如 列出项目 ab ac aa bb 如果我在文本框中输入字母 a 建议的项目应按如下方式排序 ab ac aa 不是这样的 aa ab ac 有没有办法
  • Chrome扩展:onclick()事件没有触发alert()弹出窗口[重复]

    这个问题在这里已经有答案了 我无法触发alert 弹出窗口onclick event Code File 清单 json name Project version 1 0 0 manifest version 2 description P
  • 将 Java 库导入到 C# 中

    因此 我已用 C 将代码写入 zip 文件 但是当我导入库时 我有以下内容 Using java util Using java util zip Using java io 但是 这些都用红色下划线表示 并带有错误消息 The type
  • 检查来电号码是否存储在联系人列表中 android

    在我的 Android 应用程序中 当有来电时 我想显示我的自定义用户界面 并且我能够做到这一点 不 我想检查传入号码是否来自联系人 下面是我执行此操作的代码 但对于存储在我的联系人列表中的传入号码 它返回 null public Stri
  • 无法在 Haskell 中将 IO 字符串转换为 [Char]

    我编写了这个简单的函数 它采用两个文件名 字符串 并将第一个文件的内容写入第二个文件应用toUpper到每个角色 import Data Char ioFile f1 f2 do s lt readFile f1 sUp lt toUppe
  • Typescript 属性类型保护未知

    我正在尝试输入守卫未知类型 const foo obj unknown gt if typeof obj object obj if foo in obj typeof obj foo string return obj foo 但我越来越
  • SQL Server 查询性能

    我在繁忙的数据库上有一个存储过程 它经常在昂贵的查询列表中名列前茅 以某种方式 查询非常简单 它采用单个参数 ID int 即表的主键 并选择与该ID匹配的记录 主键是一个带有聚集索引的身份字段 所以我很困惑如何进一步优化它 查询如下 CR
  • 从 Google 电子表格单元格调用 Google App 脚本库

    在 Google 电子表格中尝试新的库功能 我已经包含了一个标识符为 Test 的库 并且该库实现了函数 foo 在电子表格单元格中输入 Test foo 会出现错误 未知函数名称 TEST FOO 如果我在电子表格中创建一个函数来包装库函
  • 分割汉字

    如何使用 JavaScript 将外来字符 例如中文 拆分为单独的数组值 split 似乎对英语很有效 但对中文则不太适用 请参阅下面两个字符串的结果 a 你好 b 你好吗 splitString text split RESULT hel
  • Iris 框架实现中指针接收器和值接收器的差异[重复]

    这个问题在这里已经有答案了 最近在研究Iris框架 我在实现Handler的时候遇到了一个问题 就像下面这样 package controller import github com kataras iris type Pages stru
  • AsyncTask 内的 Android AlertDialog

    我有一个带有复选框的列表视图 对于每个复选框 大约有 3 个 它都有一个特定的 AsyncTask 我从来都不知道用户选择了哪些复选框 所以我不能将 AlertDialog 放在异步任务的末尾 因为我永远不知道用户是否只选择了一个复选框 或
  • UIBarButtonItem 显示为蓝色方块,而不是我想要的图像(界面编辑器)

    So I have added a button to my nav bar in the interface editor however when I set the image I simply get a blue box The
  • @AfterThrowing 未按预期工作

    我想使用AOP来拦截服务层中抛出的所有运行时异常并作为域异常重新抛出 Aspect Component public class ExceptionWrapperInterceptor Pointcut within service pub
  • SwiftUI:如何以编程方式更改 rootview 控制器

    我试图在用户注销后将 rootview 控制器更改为不同的屏幕 if let window UIApplication shared windows first window rootViewController UIHostingCont
  • PostgreSQL:忽略左外自连接更新

    我要更新专栏leaf category with TRUE其中类别不是父类别 它作为一个选择语句工作 select c1 id c1 name c1 slug c1 level c2 parent id c2 name c2 slug c2
  • 从App World下载的应用程序是否共享项目?

    我的公司创建了多个 BlackBerry 应用程序 它们都使用一些共享的 Java 项目 最近 我们一直在追查一个错误 我们推测该错误可能是由使用其中一个项目的旧版本的应用程序引起的 我的问题是 从 App World 单独下载的两个应用程
  • 用于刷新访问令牌的 Google 电子表格应用程序脚本

    我正在使用以下 HTTP 请求从关联的 YouTube 频道检索数据 https www googleapis com youtube analytics v1 reports ids channel 3D 3D MY ASSOCIATED
  • 动态条件 - 过滤 Excel VBA

    我需要根据相同的标准进行过滤 但标准的值在我收到的数据中并不总是相同 因此它们需要是动态的 for eg 将 Crit1 调暗为字符串 暴击1 So that Selection AutoFilter 字段 4 Criteria1 crit
  • 浮点值作为字典键

    我正在开发一个用于分析微量滴定板的课程 这些样本在单独的文件中进行描述 并且条目用于有序字典 关键之一是 pH 值 通常以浮点数形式给出 例如6 8 我可以将其导入为十进制Decimal 6 8 为了避免浮动作为字典键 另一种解决方案是将点
  • 从 MP3 文件/ID3 标签获取专辑封面

    我正在尝试从 MP3 文件获取专辑封面 在这种情况下我使用AVAudioPlayer播放文件 这是代码我以为将获得专辑封面 MPMusicPlayerController controller MPMusicPlayerController