问题标签 [ituneslibrary]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
182 浏览

objective-c - ITLibrary 只给我 (null)

我的程序使广播电台自动化。它和 iTunes 之间有很多来回的通信。我用脚本桥对其进行了编程。脚本桥受内存泄漏的影响。每次调用脚本桥都会泄漏少量内存。向 24/7 运行的程序添加大量调用,我的软件将运行不到 24 小时,然后退出。

我对解决方案的第一次尝试是尽量减少对脚本桥的调用。在为此进行研究时,我遇到了 ItunesLibrary。它不适合我。

这段代码几乎完全来自 Apple 的文档。它应该工作 - 我认为。

在添加谓词之前,我在 iTunes 库中获得了有关每个播客的一些信息。在 nslog 输出中,我的每个播放列表都会生成一个类似于“”的条目。我的每一首歌都只显示(null)。

所有信息都在 iTunes 中。我可以用脚本桥阅读它。我可以用 AVAsset 阅读它

使用 AVAsset,我只能得到歌曲名称、专辑名称和艺术家姓名。我需要访问其余的 iTune 的 ID3 标签。

我做了什么来破坏 ItunesLibrary?

0 投票
0 回答
339 浏览

c# - 使用 C# 访问 COM 对象中的隐藏动态属性

我需要访问 COM 对象(iTunes COM 库)中的特定属性。您可以使用 Visual Studio 调试器的动态视图访问此属性。

Visual Studio 动态调试视图

我尝试使用反射来获取此属性,但我没有得到任何私有属性或字段。

我可以使用以下行访问在调试器中也看到的所有属性:

new Microsoft.CSharp.RuntimeBinder.DynamicMetaObjectProviderDebugView(myObject).Items

但是,我宁愿不使用此调用,因为我相信存在更简单的解决方案。

如果您安装了 iTunes,这将是我想要实现的一个简单示例:

0 投票
1 回答
81 浏览

macos - 选择 iTunes 库位置有什么 API?

如何使用例如 C / Obj-C 或 Swift API 以编程方式将 macOS 上的 iTunes 库位置设置为自定义位置?

或者,环境设置,例如修改 plist、使用defaultsCLI 工具或类似方法,对我来说也可以。

通常,选择自定义 iTunes 库位置是通过在按住选项键的同时启动 iTunes 来完成的。我需要能够在例如单元测试环境中/以编程方式执行此操作。

0 投票
0 回答
111 浏览

swift - Swift:iTunesLibrary musicFolderLocation 返回错误的位置

我编写了一个应用程序来帮助我将我的音乐从 iTunes 同步到其他设备,但是由于我已经升级到 Catalina,所以我的音乐库路径错误。

我不确定,问题是什么,但我的 iTunes 文件夹名为1iTunes,我不知道为什么文件夹名称前面有一个1 。我检查了我的旧 xml 文件,但没有找到任何东西。不幸的是,我无法打开新的音乐应用程序库文件,但音乐(新的 iTunes)确实在库中显示了正确的路径,并且一切正常。

我尝试了另一个项目,得到了相同的结果。有谁知道,这里可能有什么问题?

编辑:我刚刚玩弄了我的音乐库的位置,我可以看到,我从音乐应用程序获得的实际位置对我从 ITLibrary 的 musicFolderLocation 获得的位置绝对没有影响。所以我认为它一定是从其他地方得到的……问题是,在哪里?

谢谢!

0 投票
1 回答
405 浏览

swift - Swift 5.2 中的 iTunes 库框架

我到处搜索,但找不到如何使用 Apple ITunesLibraryFramework 的快速示例。我一直在试图弄清楚如何在 Swift 5.2 中使用这个框架。

我想直接从音乐库中获取信息,而不必依赖 XML 库导出文件。

我的操场上有以下代码,它打印的内容不清晰。我将如何访问播放列表和 mediaItems 的字段并能够以人类可读的形式阅读它们?

我已经在项目中安装了框架。这是我的项目游乐场代码:

这是我导入标题的 ITLibrary.m 文件:

当我在项目操场上运行上述代码时,我得到的只是播放列表和 mediaItems 的一堆二进制数据。我要做的就是遍历数据并从库中收集信息以用于我的程序。这可能很容易,但我还没有找到它。

编辑: - 使用@Vincent的回答后,我遇到了以下代码的另一个问题:

我遇到的问题是将曲目信息放入 trackInfo 字典。我正在尝试使用 track persistentID (NSNumber) 作为我已声明的字典的键。出于某种原因,它不允许我使用它。

0 投票
1 回答
23 浏览

swift - iTunesLibrary Swift 5.3 macOS

在阅读文档并查看 iTunesLibrary 框架的头文件后,我无法确定如何手动指定要读取的 iTunes/Music 库文件,或者是否有可能?

头文件中的文档表明系统动态库加载“默认”库。到目前为止,我发现加载另一个库的唯一方法是使用 +click 方法手动选择要使用的库,然后退出音乐应用程序,最后选择的库成为默认库。

有没有办法指定一个文件?mediaFolderLocation 和 musicFolderLocation 方法被定义为“仅获取”方法。

0 投票
1 回答
362 浏览

objective-c - ITLibrary: 操作无法完成。(OSStatus 错误 7011。)

通常,初始化ITLibrary就像一个魅力。

但是打电话的时候

在客户的机器上,我收到一条The operation couldn’t be completed. (OSStatus error 7011.)错误消息。

有谁知道这意味着什么以及如何解决它?

这是在 macOS 10.15.7 上,在使用迁移助手后,即从旧机器移动。

0 投票
1 回答
39 浏览

python - Mac终端命令行命令执行iTunes文件->库->导出库操作?

我希望能够从命令行或 Python 脚本/程序中执行您可以在 iTunes 应用程序中手动执行的操作:文件->库->导出库。这样我就可以拥有我的 iTunes 库的最新 xml 文件的副本。这可能吗?

0 投票
0 回答
22 浏览

macos - 如何编辑歌曲的“添加日期”以适应音乐(新 iTunes)中文件的创建日期?

我在 2009 年创建了我当前的 iTunes 库(比如说 01/01/2009)。

问题是我丢失了该日期之前所有歌曲的真正“添加日期”。所以所有这些歌曲的“添加日期”都是 01/01/2009。

如何使用以下逻辑创建一个循环遍历我的音乐库(前 iTunes 库)中的所有歌曲的脚本: