我有一套完整的家庭音响系统,其中一个输入设备是一台基本的无头 Windows 机器。这个操作系统上有 iTunes,它有一个指向我音乐收藏的共享网络驱动器。我在 iTunes 中创建了一个播放列表,我可以在房子的任何房间中选择一个输入端播放它。
我遇到的问题是,任何时候我需要在机器上运行更新或 iTunes 由于某种原因崩溃等,我都必须远程重新启动 iTunes 和播放列表。
有没有什么方法可以让我不仅从命令行打开 iTunes,还可以开始“随机播放”我创建的特定播放列表?
我没有看到 iTunes 中内置任何可以执行此功能的功能,并假设在 Mac 上执行此操作很容易,但我有点不确定 iTunes 是否在 Windows 上公开了这些类型的命令参数。
答案1
可以使用 Powershell 在 Windows 中部分使用 iTunes - 方法如下:
配置:
OS: Windows 10 - 64 bits
iTunes version: 12.7
Powershell version: 5.1
在 Powershell 中:
# Inspired by
# - https://gist.github.com/rkumar/503162
# - http://samsoft.org.uk/iTunes/scripts.asp
# Search for iTunes COM object
Get-CimInstance Win32_COMSetting | Select-Object ProgId, Caption | Where-Object Caption -ILike "*itunes*"
# Initializing itunes
$itunes = New-Object -ComObject iTunes.Application
# list methods and properties
$itunes | Get-Member
$itunes.CurrentPlaylist | Get-Member
$itunes.LibraryPlaylist | Get-Member
$itunes.CurrentTrack | Get-Member
# commands
$itunes.Play()
$itunes.NextTrack()
$itunes.PreviousTrack()
$itunes.PlayPause()
$itunes.Resume()
$itunes.Stop()
# changing properties
$itunes.SoundVolume = 50 # sound volume to 50%
$itunes.Mute = 0 # mute
$itunes.Mute = 1 # unmute
$itunes.CurrentPlaylist.Shuffle = 0 # shuffle off
$itunes.CurrentPlaylist.Shuffle = 1 # shuffle on
$itunes.CurrentPlaylist.SongRepeat = 0 # repeat none
$itunes.CurrentPlaylist.SongRepeat = 1 # repeat one
$itunes.CurrentPlaylist.SongRepeat = 2 # repeat all
$itunes.CurrentTrack.Rating = 80 # 100 = 5 stars, 80 = 4 stars, 60 = 3 stars, 40 = 2 stars, 20 = 1 star
$itunes.CurrentTrack.AlbumRating = 80
# Retrieve values
$itunes.CurrentPlaylist.Name
$itunes.CurrentPlaylist.Index
# List available playlists
$itunes.Sources.Item(1).Playlists
# Select playlist and start playing
$playlists = $itunes.Sources.Item(1).Playlists
$selPlaylist = $playlists.ItemByName("Name of your playlist")
If ($selPlaylist -ne $null) { $selPlaylist.Reveal(); $selPlaylist.PlayFirstTrack() }