SOUNDサウンド関数

本ページには広告が含まれています。

サウンドを再生します。.wav,.mid,.avi,.mp3は再生できますが、.m4a,.oggは再生できません。音声ファイルが見つからない場合エラー音が鳴ります。

.aviの動画ファイルを再生するときウィンドウのクラス名はAVIWnd32です。

構文
  1. void = SOUND( ファイル名, 同期フラグ, WAV出力先 )
引数
ファイル名 (String)必須
再生ファイル名(WAV, MID, AVI等, 'BEEP' 指定にてBEEP音)もしくはサウンドにて割り当てられたイベント名('LowBatteryAlarm', 'MailBeep', 'SystemAsterisk'等) (ファイル名を省略すると再生をストップ)
同期フラグ (Boolean = False)省略可
FALSE
待たない (デフォルト)
TRUE
終了を待つ
WAV出力先 (Integer = 0)省略可
WAVファイル時の再生デバイス (0から、デフォルト=0)
戻り値

イベント名

サウンドのイベント名はレジストリのHKEY_CURRENT_USER\AppEvents\EventLabels\のサブキーに割り当てられています。

エディター.png

サブキーの一覧は以下のプログラムで取得することができます。

UWSC
PRINT POWERSHELL("Get-ChildItem -Path <#DBL>Registry::HKEY_CURRENT_USER\AppEvents\EventLabels\<#DBL> | Select-Object PSChildName | ConvertTo-Csv -NoTypeInformation | % {$_ -replace '<#DBL>',''} | Select-Object -Skip 1")
結果
プレーンテキスト
.Default
ActivatingDocument
AppGPFault
BlockedPopup
CCSelect
ChangeTheme
Close
CriticalBatteryAlarm
DeviceConnect
DeviceDisconnect
DeviceFail
DisNumbersSound
EmptyRecycleBin
FaxBeep
FaxError
FaxLineRings
FaxSent
FeedDiscovered
HubOffSound
HubOnSound
HubSleepSound
LowBatteryAlarm
MailBeep
Maximize
MenuCommand
MenuPopup
MessageNudge
Minimize
MisrecoSound
MoveMenuItem
Navigating
Notification.Default
Notification.IM
Notification.Looping.Alarm
Notification.Looping.Alarm10
Notification.Looping.Alarm2
Notification.Looping.Alarm3
Notification.Looping.Alarm4
Notification.Looping.Alarm5
Notification.Looping.Alarm6
Notification.Looping.Alarm7
Notification.Looping.Alarm8
Notification.Looping.Alarm9
Notification.Looping.Call
Notification.Looping.Call10
Notification.Looping.Call2
Notification.Looping.Call3
Notification.Looping.Call4
Notification.Looping.Call5
Notification.Looping.Call6
Notification.Looping.Call7
Notification.Looping.Call8
Notification.Looping.Call9
Notification.Mail
Notification.Proximity
Notification.Reminder
Notification.SMS
Open
PanelSound
PrintComplete
ProximityConnection
RestoreDown
RestoreUp
SearchProviderDiscovered
SecurityBand
ShowBand
SystemAsterisk
SystemExclamation
SystemExit
SystemHand
SystemNotification
SystemQuestion
VNCviewerBell
VS_BreakpointHit
VS_BuildCanceled
VS_BuildFailed
VS_BuildSucceeded
WindowsLogoff
WindowsLogon
WindowsUAC
WindowsUnlock

これらのサブキーはコントロール パネル\ハードウェアとサウンドシステムサウンドの変更で開くウィンドウのサウンドタブにあるプログラム イベントと対応しています。

.png

以下はレジストリのサブキーとプログラム イベント名の対応表です。システムサウンドの変更プログラム イベントで初めから表示されているものには初期表示の項目にをつけています。

カテゴリはWindowsエクスプローラーWindows 音声認識は必ずありますが、その他の項目はインストールしているソフトによって違いがあります。

カテゴリ 項目 イベント名 初期表示
Windows
NFP 完了Notification.Proximity
NFP 接続ProximityConnection
Windows のロック解除WindowsUnlock
Windows の終了SystemExit
Windows テーマの変更ChangeTheme
Windows ユーザー アカウント制御WindowsUAC
Windows ログオフWindowsLogoff
Windows ログオンWindowsLogon
アラーム 1Notification.Looping.Alarm
アラーム 10Notification.Looping.Alarm10
アラーム 2Notification.Looping.Alarm2
アラーム 3Notification.Looping.Alarm3
アラーム 4Notification.Looping.Alarm4
アラーム 5Notification.Looping.Alarm5
アラーム 6Notification.Looping.Alarm6
アラーム 7Notification.Looping.Alarm7
アラーム 8Notification.Looping.Alarm8
アラーム 9Notification.Looping.Alarm9
インスタント メッセージの通知Notification.IM
システム エラーSystemHand
システム通知SystemNotification
ツール バー バンドの表示ShowBand
デスクトップ メールの通知MailBeep
デバイスの切断DeviceDisconnect
デバイスの接続DeviceConnect
デバイス接続の失敗DeviceFail
バッテリ低下アラームLowBatteryAlarm
バッテリ切れアラームCriticalBatteryAlarm
プログラム エラーAppGPFault
プログラムの終了Close
プログラムの起動Open
メッセージ (問い合わせ)SystemQuestion
メッセージ (情報)SystemAsterisk
メッセージ (警告)SystemExclamation
メッセージのシェイクMessageNudge
メニュー コマンドMenuCommand
メニュー ポップアップMenuPopup
一般の警告音.Default
予定表のアラームNotification.Reminder
元に戻す (拡大)RestoreUp
元に戻す (縮小)RestoreDown
印刷完了PrintComplete
新着テキスト メッセージの通知Notification.SMS
新着ファックスの通知FaxBeep
新着メールの通知Notification.Mail
最大化Maximize
最小化Minimize
着信呼の通知 1Notification.Looping.Call
着信呼の通知 10Notification.Looping.Call10
着信呼の通知 2Notification.Looping.Call2
着信呼の通知 3Notification.Looping.Call3
着信呼の通知 4Notification.Looping.Call4
着信呼の通知 5Notification.Looping.Call5
着信呼の通知 6Notification.Looping.Call6
着信呼の通知 7Notification.Looping.Call7
着信呼の通知 8Notification.Looping.Call8
着信呼の通知 9Notification.Looping.Call9
通知Notification.Default
選択CCSelect
Microsoft Visual Studio
Breakpoint HitVS_BreakpointHit
ビルドが取り消されましたVS_BuildCanceled
ビルド失敗VS_BuildFailed
ビルド正常終了VS_BuildSucceeded
エクスプローラー
FAX の送信FaxSent
FAX エラーFaxError
ごみ箱を空にするEmptyRecycleBin
ナビゲーションの完了ActivatingDocument
ナビゲーションの開始Navigating
フィードの発見FeedDiscovered
ポップアップ ウィンドウのブロックBlockedPopup
メニュー項目の移動MoveMenuItem
情報バーSecurityBand
検索プロバイダーの発見SearchProviderDiscovered
着信呼び出しFaxLineRings
通知バー
Windows 音声認識
オフHubOffSound
オンHubOnSound
スリープ状態HubSleepSound
不明瞭解消パネルPanelSound
不明瞭解消数字DisNumbersSound
誤認識MisrecoSound
Microsoft Visual C++ 2010 Express
ビルドが取り消されました
ビルド失敗
ビルド正常終了
VNCviewer
Bell

初期表示されていない項目はレジストリを操作することで表示させることができます。HKEY_CURRENT_USER\AppEvents\EventLabels\のサブキーを選択したとき値の名前にExcludeFromCPLがあるものが表示・非表示を切り替えることができる項目で、このデータを0にすることで表示することができます。1で非表示に戻すこともできます。

エディター ExcludeFromCPL.png

以下のプログラムは初期表示されていない項目を表示させます。valueの値を0で項目を表示、1で非表示にします。

UWSC
DIM array[] = "Notification.Looping.Alarm", "Notification.Looping.Alarm10", "Notification.Looping.Alarm2", _
				"Notification.Looping.Alarm3", "Notification.Looping.Alarm4", "Notification.Looping.Alarm5", _
				"Notification.Looping.Alarm6", "Notification.Looping.Alarm7", "Notification.Looping.Alarm8", _
				"Notification.Looping.Alarm9", "Notification.Looping.Call", "Notification.Looping.Call10", _
				"Notification.Looping.Call2", "Notification.Looping.Call3", "Notification.Looping.Call4", _
				"Notification.Looping.Call5", "Notification.Looping.Call6", "Notification.Looping.Call7", _
				"Notification.Looping.Call8", "Notification.Looping.Call9", "SystemExit", _
				"WindowsLogoff", "WindowsLogon", "WindowsUnlock"

Dim WshShell = CREATEOLEOBJ("WScript.Shell")

FOR item IN array
	DIM name = "HKEY_CURRENT_USER\AppEvents\EventLabels\" + item + "\ExcludeFromCPL"
	DIM value = 0		// 「0」で表示、「1」で非表示
	DIM type = "REG_DWORD"
	WshShell.RegWrite(name, value, type)
NEXT

これらのイベント名はSOUND関数の第一引数に指定することで鳴らすことができます。

以下はすべてのイベント名を取得しそのサウンドを再生させるプログラムです。ESCで強制終了することができます。

UWSC
SETHOTKEY(VK_ESC, EMPTYPARAM, "forceQuit")

DIM str = POWERSHELL("Get-ChildItem -Path <#DBL>Registry::HKEY_CURRENT_USER\AppEvents\EventLabels\<#DBL> | Select-Object PSChildName | ConvertTo-Csv -NoTypeInformation | % {$_ -replace '<#DBL>',''} | Select-Object -Skip 1")
DIM array = SPLIT(str, "<#CR>")

FOR item IN array
	FUKIDASI(item)
	SOUND(item)
	SLEEP(1.000)
NEXT

レジストリのHKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\<イベント名>\.Current(既定)の値にはサウンドのWAVファイルのパスが設定されています。

以下はイベント名からWAVファイルのパスを取得します。

UWSC
HASHTBL sounds

sounds["Notification.Proximity"] = "NFP 完了"
sounds["ProximityConnection"] = "NFP 接続"
sounds["WindowsUnlock"] = "Windows のロック解除"
sounds["SystemExit"] = "Windows の終了"
sounds["ChangeTheme"] = "Windows テーマの変更"
sounds["WindowsUAC"] = "Windows ユーザー アカウント制御"
sounds["WindowsLogoff"] = "Windows ログオフ"
sounds["WindowsLogon"] = "Windows ログオン"
sounds["Notification.Looping.Alarm"] = "アラーム 1"
sounds["Notification.Looping.Alarm10"] = "アラーム 10"
sounds["Notification.Looping.Alarm2"] = "アラーム 2"
sounds["Notification.Looping.Alarm3"] = "アラーム 3"
sounds["Notification.Looping.Alarm4"] = "アラーム 4"
sounds["Notification.Looping.Alarm5"] = "アラーム 5"
sounds["Notification.Looping.Alarm6"] = "アラーム 6"
sounds["Notification.Looping.Alarm7"] = "アラーム 7"
sounds["Notification.Looping.Alarm8"] = "アラーム 8"
sounds["Notification.Looping.Alarm9"] = "アラーム 9"
sounds["Notification.IM"] = "インスタント メッセージの通知"
sounds["SystemHand"] = "システム エラー"
sounds["SystemNotification"] = "システム通知"
sounds["ShowBand"] = "ツール バー バンドの表示"
sounds["MailBeep"] = "デスクトップ メールの通知"
sounds["DeviceDisconnect"] = "デバイスの切断"
sounds["DeviceConnect"] = "デバイスの接続"
sounds["DeviceFail"] = "デバイス接続の失敗"
sounds["LowBatteryAlarm"] = "バッテリ低下アラーム"
sounds["CriticalBatteryAlarm"] = "バッテリ切れアラーム"
sounds["AppGPFault"] = "プログラム エラー"
sounds["Close"] = "プログラムの終了"
sounds["Open"] = "プログラムの起動"
sounds["SystemQuestion"] = "メッセージ (問い合わせ)"
sounds["SystemAsterisk"] = "メッセージ (情報)"
sounds["SystemExclamation"] = "メッセージ (警告)"
sounds["MessageNudge"] = "メッセージのシェイク"
sounds["MenuCommand"] = "メニュー コマンド"
sounds["MenuPopup"] = "メニュー ポップアップ"
sounds[".Default"] = "一般の警告音"
sounds["Notification.Reminder"] = "予定表のアラーム"
sounds["RestoreUp"] = "元に戻す (拡大)"
sounds["RestoreDown"] = "元に戻す (縮小)"
sounds["PrintComplete"] = "印刷完了"
sounds["Notification.SMS"] = "新着テキスト メッセージの通知"
sounds["FaxBeep"] = "新着ファックスの通知"
sounds["Notification.Mail"] = "新着メールの通知"
sounds["Maximize"] = "最大化"
sounds["Minimize"] = "最小化"
sounds["Notification.Looping.Call"] = "着信呼の通知 1"
sounds["Notification.Looping.Call10"] = "着信呼の通知 10"
sounds["Notification.Looping.Call2"] = "着信呼の通知 2"
sounds["Notification.Looping.Call3"] = "着信呼の通知 3"
sounds["Notification.Looping.Call4"] = "着信呼の通知 4"
sounds["Notification.Looping.Call5"] = "着信呼の通知 5"
sounds["Notification.Looping.Call6"] = "着信呼の通知 6"
sounds["Notification.Looping.Call7"] = "着信呼の通知 7"
sounds["Notification.Looping.Call8"] = "着信呼の通知 8"
sounds["Notification.Looping.Call9"] = "着信呼の通知 9"
sounds["Notification.Default"] = "通知"
sounds["CCSelect"] = "選択"
sounds["VS_BreakpointHit"] = "Breakpoint Hit"
sounds["VS_BuildCanceled"] = "ビルドが取り消されました"
sounds["VS_BuildFailed"] = "ビルド失敗"
sounds["VS_BuildSucceeded"] = "ビルド正常終了"
sounds["FaxSent"] = "FAX の送信"
sounds["FaxError"] = "FAX エラー"
sounds["EmptyRecycleBin"] = "ごみ箱を空にする"
sounds["ActivatingDocument"] = "ナビゲーションの完了"
sounds["Navigating"] = "ナビゲーションの開始"
sounds["FeedDiscovered"] = "フィードの発見"
sounds["BlockedPopup"] = "ポップアップ ウィンドウのブロック"
sounds["MoveMenuItem"] = "メニュー項目の移動"
sounds["SecurityBand"] = "情報バー"
sounds["SearchProviderDiscovered"] = "検索プロバイダーの発見"
sounds["FaxLineRings"] = "着信呼び出し"
// sounds[""] = "通知バー"
sounds["HubOffSound"] = "オフ"
sounds["HubOnSound"] = "オン"
sounds["HubSleepSound"] = "スリープ状態"
sounds["PanelSound"] = "不明瞭解消パネル"
sounds["DisNumbersSound"] = "不明瞭解消数字"
sounds["MisrecoSound"] = "誤認識"
// sounds[""] = "ビルドが取り消されました"
// sounds[""] = "ビルド失敗"
// sounds[""] = "ビルド正常終了"
sounds["VNCviewerBell"] = "Bell"

DIM WshShell = CREATEOLEOBJ("Wscript.Shell")
DIM str = POWERSHELL("Get-ChildItem -Path <#DBL>Registry::HKEY_CURRENT_USER\AppEvents\EventLabels\<#DBL> | Select-Object PSChildName | ConvertTo-Csv -NoTypeInformation | % {$_ -replace '<#DBL>',''} | Select-Object -Skip 1")
DIM array = SPLIT(str, "<#CR>")

FOR item IN array
	TRY
		PRINT sounds[item] + "(" + item + ")" + "," + WshShell.RegRead("HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\" + item + "\.Current\")
	EXCEPT
		PRINT sounds[item] + "(" + item + ")"
	ENDTRY
NEXT
結果
CSV
一般の警告音(.Default),                             C:\windows\media\Windows Ding.wav
ナビゲーションの完了(ActivatingDocument)
プログラム エラー(AppGPFault),                      
ポップアップ ウィンドウのブロック(BlockedPopup)
選択(CCSelect),                                     
Windows テーマの変更(ChangeTheme),                  
プログラムの終了(Close),                            
バッテリ切れアラーム(CriticalBatteryAlarm),         C:\windows\media\Windows Battery Critical.wav
デバイスの接続(DeviceConnect),                      C:\windows\media\Windows Hardware Insert.wav
デバイスの切断(DeviceDisconnect),                   C:\windows\media\Windows Hardware Remove.wav
デバイス接続の失敗(DeviceFail),                     C:\windows\media\Windows Hardware Fail.wav
不明瞭解消数字(DisNumbersSound)
ごみ箱を空にする(EmptyRecycleBin)
新着ファックスの通知(FaxBeep),                      C:\windows\media\Windows Notify.wav
FAX エラー(FaxError)
着信呼び出し(FaxLineRings)
FAX の送信(FaxSent)
フィードの発見(FeedDiscovered)
オフ(HubOffSound)
オン(HubOnSound)
スリープ状態(HubSleepSound)
バッテリ低下アラーム(LowBatteryAlarm),              C:\windows\media\Windows Battery Low.wav
デスクトップ メールの通知(MailBeep),                C:\windows\media\Windows Notify.wav
最大化(Maximize),                                   
メニュー コマンド(MenuCommand),                     
メニュー ポップアップ(MenuPopup),                   
メッセージのシェイク(MessageNudge),                 %SystemRoot%\media\Windows Message Nudge.wav
最小化(Minimize),                                   
誤認識(MisrecoSound)
メニュー項目の移動(MoveMenuItem)
ナビゲーションの開始(Navigating)
通知(Notification.Default),                         %SystemRoot%\media\Windows Notify System Generic.wav
インスタント メッセージの通知(Notification.IM),     %SystemRoot%\media\Windows Notify Messaging.wav
アラーム 1(Notification.Looping.Alarm),             %SystemRoot%\media\Alarm01.wav
アラーム 10(Notification.Looping.Alarm10),          %SystemRoot%\media\Alarm10.wav
アラーム 2(Notification.Looping.Alarm2),            %SystemRoot%\media\Alarm02.wav
アラーム 3(Notification.Looping.Alarm3),            %SystemRoot%\media\Alarm03.wav
アラーム 4(Notification.Looping.Alarm4),            %SystemRoot%\media\Alarm04.wav
アラーム 5(Notification.Looping.Alarm5),            %SystemRoot%\media\Alarm05.wav
アラーム 6(Notification.Looping.Alarm6),            %SystemRoot%\media\Alarm06.wav
アラーム 7(Notification.Looping.Alarm7),            %SystemRoot%\media\Alarm07.wav
アラーム 8(Notification.Looping.Alarm8),            %SystemRoot%\media\Alarm08.wav
アラーム 9(Notification.Looping.Alarm9),            %SystemRoot%\media\Alarm09.wav
着信呼の通知 1(Notification.Looping.Call),          %SystemRoot%\media\Ring01.wav
着信呼の通知 10(Notification.Looping.Call10),       %SystemRoot%\media\Ring10.wav
着信呼の通知 2(Notification.Looping.Call2),         %SystemRoot%\media\Ring02.wav
着信呼の通知 3(Notification.Looping.Call3),         %SystemRoot%\media\Ring03.wav
着信呼の通知 4(Notification.Looping.Call4),         %SystemRoot%\media\Ring04.wav
着信呼の通知 5(Notification.Looping.Call5),         %SystemRoot%\media\Ring05.wav
着信呼の通知 6(Notification.Looping.Call6),         %SystemRoot%\media\Ring06.wav
着信呼の通知 7(Notification.Looping.Call7),         %SystemRoot%\media\Ring07.wav
着信呼の通知 8(Notification.Looping.Call8),         %SystemRoot%\media\Ring08.wav
着信呼の通知 9(Notification.Looping.Call9),         %SystemRoot%\media\Ring09.wav
新着メールの通知(Notification.Mail),                %SystemRoot%\media\Windows Notify Email.wav
NFP 完了(Notification.Proximity),                   %SystemRoot%\media\Windows Proximity Notification.wav
予定表のアラーム(Notification.Reminder),            %SystemRoot%\media\Windows Notify Calendar.wav
新着テキスト メッセージの通知(Notification.SMS),    %SystemRoot%\media\Windows Notify Messaging.wav
プログラムの起動(Open),                             
不明瞭解消パネル(PanelSound)
印刷完了(PrintComplete),                            
NFP 接続(ProximityConnection),                      %SystemRoot%\media\Windows Proximity Connection.wav
元に戻す (縮小)(RestoreDown),                       
元に戻す (拡大)(RestoreUp),                         
検索プロバイダーの発見(SearchProviderDiscovered)
情報バー(SecurityBand)
ツール バー バンドの表示(ShowBand),                 
メッセージ (情報)(SystemAsterisk),                  C:\windows\media\Windows Error.wav
メッセージ (警告)(SystemExclamation),               C:\windows\media\Windows Exclamation.wav
Windows の終了(SystemExit),                         C:\windows\media\Windows Shutdown.wav
システム エラー(SystemHand),                        C:\windows\media\Windows Critical Stop.wav
システム通知(SystemNotification),                   C:\windows\media\Windows Balloon.wav
メッセージ (問い合わせ)(SystemQuestion),            
Bell(VNCviewerBell)
Breakpoint Hit(VS_BreakpointHit)
ビルドが取り消されました(VS_BuildCanceled)
ビルド失敗(VS_BuildFailed)
ビルド正常終了(VS_BuildSucceeded)
Windows ログオフ(WindowsLogoff),                    C:\windows\media\Windows Logoff Sound.wav
Windows ログオン(WindowsLogon),                     %SystemRoot%\media\Windows Logon.wav
Windows ユーザー アカウント制御(WindowsUAC),        C:\windows\media\Windows User Account Control.wav
Windows のロック解除(WindowsUnlock),                %SystemRoot%\media\Windows Unlock.wav

同期フラグ

音声ファイルが終了してから処理を進める場合はTrueを指定します。

UWSC
SOUND("D:\Music\sample.mp3", TRUE)

FOR i = 1 TO 100
	FUKIDASI(i)
	SLEEP(0.100)
NEXT

同期フラグにFalseを指定すると音声を再生してから終了を待たずに次の処理に進み、処理が終わると音声が止まります。

UWSC
SOUND("D:\Music\sample.mp3", FALSE)
SLEEP(3.000)

音声を繰り返し流す

スレッドを使いメインルーチンと別に音声を流す処理を組み込みます。

UWSC
THREAD musicPlay("D:\Music\sound.mp3", 100)

FOR i = 1 TO 100
	FUKIDASI(i)
	SLEEP(0.100)
NEXT

//////////////////////////////////////////////////
// 【引数】
//   path:再生する音声ファイルのパス、times:繰り返す回数
// 【戻り値】
//   
//////////////////////////////////////////////////
PROCEDURE musicPlay(path, times)
	FOR i = 1 TO times
		SOUND(path, TRUE)
	NEXT
FEND

メインルーチンが終わるまで音声を流し続けるにはSOUND関数をWHILE文で無限ループにします。

UWSC
THREAD musicPlay("D:\Music\sound.mp3")

FOR i = 1 TO 100
	FUKIDASI(i)
	SLEEP(0.100)
NEXT

PROCEDURE musicPlay(path)
	WHILE TRUE
		SOUND(path, TRUE)
	WEND
FEND

WAV出力先取得

タスクトレイのスピーカーを右クリック、[サウンドの設定を開く]、右側の関連設定から[サウンド コントロールパネル]で再生デバイスとサウンドが出力されているデバイスを確認することができます。アイコンにチェックマークが入っていて[既定のデバイス]と表示されているものが0を指定したときのデフォルトの出力先となります。

コントロールパネル.png

サウンドが再生されているときは以下のように緑色のバーが動くので再生デバイスの確認をすることができます。

コントロールパネル 再生時.png

使い方

絶対パスで指定

D:\Desktop\sample.wavのWAVファイルを再生します。

UWSC
SOUND("D:\Desktop\sample.wav", TRUE)

環境変数を含むパスの指定

環境変数を含むパス文字列を指定することもできます。以下は%SystemRoot%\media\Alarm01.wavのサウンドを再生します。

UWSC
SOUND("%SystemRoot%\media\Alarm01.wav", TRUE)

プログラム実行例

Windows通知のwavファイルを再生する

C:\Windows\Media\Windows Notify.wavを再生します。

UWSC
SOUND("C:\Windows\Media\Windows Notify.wav", TRUE)
使用関数

フォルダ内の音声ファイルをすべて再生

UWSC
HASHTBL iColumn

DIM Shell = CREATEOLEOBJ("Shell.Application")
DIM Folder = Shell.NameSpace("C:\Windows\Media")

FOR i = 0 TO 350
	iColumn[Folder.GetDetailsOf(EMPTYPARAM, i)] = i
NEXT

DIM FolderItems = Folder.Items
DIM extensions[] = ".wav", ".mid", ".avi", ".mp3"

FOR FolderItem IN FolderItems
	DIM path = FolderItem.Path
	IF inArray(Folder.GetDetailsOf(FolderItem, iColumn["ファイル拡張子"]), extensions) = FALSE THEN CONTINUE
	FUKIDASI(path)
	SOUND(path, TRUE)
NEXT
使用関数

指定フォルダ内の曲をトラック番号順で再生

UWSC
DIM Shell = CREATEOLEOBJ("Shell.Application")
DIM folderspec = "F:\Music\sample"
DIM Folder = Shell.NameSpace(folderspec)
DIM FolderItems = Folder.Items

HASHTBL iColumn

FOR i = 0 TO 350
	iColumn[Folder.GetDetailsOf(EMPTYPARAM, i)] = i
NEXT

DIM filename[-1]
DIM track[-1]

FOR i = 0 TO FolderItems.Count - 1
	DIM FolderItem = FolderItems.Item(i)
	IF FolderItem.isFolder THEN CONTINUE
	IF Folder.GetDetailsOf(FolderItem, iColumn["ファイル拡張子"]) <> ".wav" THEN CONTINUE
	arrayPush(filename, Folder.GetDetailsOf(FolderItem,iColumn["名前"]))
	arrayPush(track, Folder.GetDetailsOf(FolderItem, iColumn["トラック番号"]))
NEXT

QSORT(track, QSRT_NATURALA, filename)

FOR i = 0 TO UBound(filename)
	DIM path = folderspec + "\" + filename[i]
	FUKIDASI(filename[i])
	SOUND(path, TRUE)
NEXT
使用関数
解説

BEEP音を鳴らす

UWSC
SOUND("BEEP")
使用関数