-1

アルバムまたはアーティストの名前を指定して、そのアーティストまたはそのアルバムのすべての曲を再生するようにiTunesに指示したいと思います。これどうやってするの?すべてのトラックで配列をフィルタリングしてすべての曲を再生する方法を知っていますが、iTunesに必要な曲だけを再生するように指示するにはどうすればよいですか?

編集

このコードを使用して、再生したいすべてのトラックを取得できることはわかっていますが、iTunesにそれらを連続して再生するように指示する方法がわかりません。何か案は?

// Get the app
iTunesApplication* iTunes = [SBApplication applicationWithBundleIdentifier: @"com.apple.iTunes"];

// Get the library
iTunesSource* library;
for (iTunesSource* thisSource in [iTunes sources]) {
    if ([thisSource kind] == iTunesESrcLibrary) {
        library = thisSource;
        break;
    }
}

SBElementArray* tracks;
for (iTunesPlaylist* playlist in [library playlists]) {
    if ([playlist specialKind] == iTunesESpKMusic) {
        tracks = [playlist searchFor: name only: type == 0 ? iTunesESrAAlbums : iTunesESrAArtists];
     }
 }

 // There. Now what? how do I play all the tracks in 'tracks'?
4

2 に答える 2

1

1曲再生できます。

iTunesTrack *track = [tracks objectAtIndex:0];
[track playOnce:YES];

複数の曲を再生する場合は、プレイリストを作成または使用する必要があります。

    for (iTunesUserPlaylist *thisList in playlists) {
        if ([[thisList name] isEqualToString:playlistName]) {
            playlist = thisList;
            break;
        }
    }        

[track duplicateTo:playlist];
[playlist playOnce:YES];
于 2012-12-03T16:58:19.737 に答える
0

したがって、iTunesには、特定のアーティストの曲や特定のアルバムの曲を再生するためのAppleScript /ScriptingBridgeコマンドがないようです。そして、この質問によると、新しいプレイリストを作成せずにトラックのカスタムリストを再生するようにiTunesに指示することはできません(私はやりたくないです)。要するに、この問題を解決する方法は本当にありません...

于 2012-10-26T14:41:51.200 に答える