小编alw*_*ple的帖子

使用ScriptingBridge获取当前歌曲的iTunes作品

我一直试图弄清楚如何使用脚本桥获取当前播放歌曲的iTunes艺术作品.我已经达到了适用于某些歌曲的程度,但对于其他人来说,我得到了一个SIGABRT.我不确定问题是什么,所以任何帮助都将不胜感激.这是我到目前为止:

iTunesApplication * iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];
NSImage *songArtwork;
iTunesTrack *current = [iTunes currentTrack];
iTunesArtwork *artwork = (iTunesArtwork *)[[[current artworks] get] lastObject];
if(artwork != nil)
  songArtwork = [artwork data];
else
  songArtwork = [NSImage imageNamed:@"Image.tiff"];

NSMenuItem *artworkMenuItem = [[NSMenuItem alloc] initWithTitle:@"" action:NULL keyEquivalent:@""];
[songArtwork setSize:NSMakeSize(128, 128)];
[artworkMenuItem setImage:songArtwork];
[Menu insertItem:artworkMenuItem atIndex:0];
Run Code Online (Sandbox Code Playgroud)

我可以使用一些歌曲,并在菜单项中很好地显示艺术作品,但对于其他人我在线上获得了一个SIGABRT:

[songArtwork setSize:NSMakeSize(128, 128)];
Run Code Online (Sandbox Code Playgroud)

控制台的输出如下:

2011-08-12 23:13:20.094 SongViewer[2146:707] -[NSAppleEventDescriptor setSize:]:     unrecognized selector sent to instance 0x102827f70
2011-08-12 23:13:20.095 SongViewer[2146:707] An uncaught exception was raised
2011-08-12 23:13:20.096 SongViewer[2146:707] -[NSAppleEventDescriptor setSize:]: unrecognized …
Run Code Online (Sandbox Code Playgroud)

itunes objective-c artwork scripting-bridge

7
推荐指数
1
解决办法
2004
查看次数

标签 统计

artwork ×1

itunes ×1

objective-c ×1

scripting-bridge ×1