iTunesはクロスフェード機能があるが普通に停止するときにフェードアウトして停止することができない。
曲を止める際にブチッと切れるのは大嫌いなのだがそこまで気を使ってくれるプレーヤは少ない。(WinAMPなど)
その機能をiTunesスクリプトで実装してみた。CLaunchなどに入れるとよい。
停止後は元のボリュームに戻すためいちいちボリュームを上げなおす必要がない。
iTunesFadePause.vbs (拡張子がtxtなので実行時はvbsに変更すること)
以下ソース
Set iTunes = WScript.CreateObject("iTunes.Application")
'現在のボリュームをとっておく
cVolume = iTunes.SoundVolume
'再生中なら
If iTunes.PlayerState = 1 Then
For i = cVolume To 0 Step -2
iTunes.SoundVolume = i
WScript.Sleep 1
Next
'停止後にボリュームを戻す
iTunes.Pause()
iTunes.SoundVolume = cVolume
Else
'ポーズ中なら
'いったんボリュームをゼロから再生開始し
iTunes.SoundVolume = 0
iTunes.Play()
'もとのボリュームまで戻す
For i = 0 To cVolume Step 2
iTunes.SoundVolume = i
WScript.Sleep 1
Next
End If