ฉันจะเล่นเสียงได้อย่างไร (CPU Beep หรือ wav ไม่สำคัญว่าอะไร) โดยใช้ Windows cmd
ฉันจะเล่นเสียงได้อย่างไร (CPU Beep หรือ wav ไม่สำคัญว่าอะไร) โดยใช้ Windows cmd
คำตอบ:
ไม่ได้อยู่ใน windows ตอนนี้เพื่อทดสอบวิธีแก้ปัญหาที่เป็นไปได้ แต่ลอง: "เริ่มต้น"
ฉันคิดว่ามันจะเปิดไฟล์ wav ด้วยโปรแกรมที่เกี่ยวข้องที่ windows ของคุณมีสำหรับไฟล์ ".wav"
และโปรดทราบว่านี่เป็นสิ่งที่เดาได้ยาก - คนที่มีหน้าต่างอาจให้ทางออกที่ดีกว่าแก่คุณหากนี่ไม่ใช่งาน
คุณสามารถทำได้โดยกำเนิดด้วย PowerShell PowerShell มีอยู่ใน Windows Vista และใหม่กว่าและสามารถดาวน์โหลดได้จาก Microsoft สำหรับรุ่นที่เก่ากว่า
PowerShell สามารถใช้ในการโหลดSystem.Media.SoundPlayer
คลาส NET ซึ่งสามารถใช้เล่นไฟล์ wave ได้
(New-Object Media.SoundPlayer "C:\WINDOWS\Media\notify.wav").Play();
หากคุณต้องการคุณสามารถเรียกใช้จากบรรทัดคำสั่งปกติ:
powershell -c (New-Object Media.SoundPlayer "C:\Windows\Media\notify.wav").PlaySync();
(โปรดทราบว่าPlaySync
จะใช้ในตัวอย่างที่สองเนื่องจากการเล่นแบบอะซิงโครนัสมาตรฐานจะถูกขัดจังหวะโดยการปิดกระบวนการ PowerShell เมื่อเปิดตัวเช่นนี้)
และถ้าคุณต้องการที่จะเล่นเพียงคนแรกพูดว่าเสียง 5 วินาที:
powershell -c (New-Object Media.SoundPlayer "C:\Windows\Media\notify.wav").Play(); Start-Sleep -s 5; Exit;
สามารถส่งเสียงบี๊บได้ง่ายในบรรทัดคำสั่งปกติด้วยecho ^G
(ซึ่ง^G
หมายถึง BEL, อักขระ ASCII 7, แทรกด้วยCtrl+ G) ดังที่อธิบายไว้ในคำตอบอื่น ๆ เพื่อประโยชน์ของความครบถ้วนสมบูรณ์นี่เป็นวิธี PowerShell:
echo ^G
ใช่มันเป็นเช่นเดียวกับcmd
หนึ่ง echo
ใน PowerShell เป็นนามแฝง (เช่นหมายถึงสิ่งเดียวกัน) ถึงWrite-Host
ซึ่งจะแสดงบางสิ่งบนหน้าจอ (หรือเรียกใช้เสียงแจ้งเตือนของ Windows ในกรณีของBEL
)
อีกทางเลือกหนึ่งใน PowerShell คือการใช้ escape sequence สำหรับ BEL แทนที่จะใส่อักขระ BEL ตามตัวอักษรด้วยCtrl+ G:
echo `a
`
เป็นอักขระการหลบหนีของ PowerShell ซึ่งปรับเปลี่ยนความหมายของอักขระหลังจากนั้น การหลบหนีa
บ่งชี้ว่า BEL ข้อดีของวิธีนี้คือมันง่ายกว่าและมองเห็นได้มากกว่าเมื่อพิมพ์ลงในสคริปต์
วิธีรันในไฟล์แบตช์ (อีกครั้ง, Vista หรือใหม่กว่า):
powershell -c echo `a
Play()
(async) รอสัญญาณสัญญาณแล้วปิด เซมาฟอร์เป็นวิธีที่สะอาดกว่าในการทำเช่นนี้ แต่ค่อนข้างซับซ้อนกว่าเล็กน้อย ผมยินดีที่จะเข้าไปดูรายละเอียดเพิ่มเติมในการแชท
echo ^G
ในกรณีที่^G
เป็นCTRL + GหรือAlt + 7บนแป้นพิมพ์
วิธีแก้ปัญหา (บางประเภท):
1) เรียกใช้ไฟล์เสียง
2) รอจนกระทั่งแทร็กสิ้นสุด (ในกรณีของฉันคือ 5 วินาที) และปิดโปรแกรมเล่นสื่อ
start wmplayer "C:\Windows\Media\Alarm10.wav" && timeout 5 && taskkill /im wmplayer.exe
ติดตั้ง VLC ใช้คำสั่งดังต่อไปนี้ มันเริ่มต้นขึ้นอย่างรวดเร็วจริงๆ นี่คือสิ่งที่ฉันใช้ใน Windows 7 b / c wmplayer ใช้เวลาโหลดนานและตัวเลือก / close ถูกลบออกจาก wmplayer
vlc.exe --play-and-exit audio.wav
vlc -I dummy --dummy-quiet t.mp3 vlc://quit
จากforum.videolan.org/viewtopic.php?t=79516#p262603
(ในขณะที่เธรดเก่า ๆ ผู้คนจะค้นพบมันในการค้นหา) ฉันเห็นคนที่แนะนำ VLC แล้ว ฉันใช้เพื่อเล่นเสียงใน Windows โดยไม่เห็นสิ่งใดโดยใช้พารามิเตอร์: "c: \ Program Files (x86) \ videolan \ vlc \ vlc.exe" --qt-start-minimized --play-and-exit "c: \ Program Files (x86) \ videolan \ vlc \ Windows Exclamation.wav "
การเพิ่มหลักของความคิดเห็นก่อนหน้าคือ --qt-start-minimized พา ธ และเครื่องหมายคำพูดเป็นเพียงเพื่อแสดงให้เห็นถึงการใช้งานทั่วไป ฉันใช้สิ่งนี้ไม่เปลี่ยนแปลงใน XP, 7, 10; ฉันคาดว่า Vista และ 8.x จะทำงานด้วย
หากเสียงบี๊บธรรมดาดีแล้วให้สะท้อนอักขระที่มีค่า 7 ซึ่งเป็นอักขระระฆังตัวละครระฆังอย่างไรก็ตามโปรดทราบว่าสามารถปิดเสียงบี๊บได้
หากคุณต้องการสิ่งอื่นคุณจะต้องเปิดแอปพลิเคชันที่ใช้กลอุบาย
คุณสามารถเขียนแอปพลิเคชันคอนโซลแบบง่ายที่ใช้ไฟล์เสียง (หรือรหัสเสียง) เป็นอาร์กิวเมนต์และเรียกว่าPlaySound
โซลูชันที่มีน้ำหนักเบามากคือ cmndPlayWAV.jar ซึ่งทำงานบน Linux และ OS / X มันมีเสียงในตัวหากไม่มีการระบุพารามิเตอร์หรือคุณสามารถกำหนดพา ธ แบบเต็มให้กับไฟล์. wav สิ่งหนึ่งที่ทำให้ข้อความเสียง. wav ใช้กับ Windows Recorder ได้เสมอ
ใน XP ฉันทำสิ่งนี้
start /min mplay32 /play /close %WINDIR%\media\tada.wav
มันไม่เหมาะ แต่ง่ายจริงๆและใช้งานได้
ฉันใช้mplayer
สำหรับสิ่งนี้ overkill นิดหน่อยเพราะสามารถเล่นไฟล์สื่อได้เกือบทุกชนิด การสร้าง windows ล่าสุดสามารถดูได้ที่spirtonในปี 2013 ตัวอย่างการใช้งาน:
mplayer c:\windows\media\chimes.wav
คุณควรเพิ่ม mplayer.exe ที่คุณPATH (ดูสิ่งที่เป็นเส้นทางและสภาพแวดล้อมอื่นตัวแปรและวิธีการที่ฉันสามารถตั้งค่าหรือใช้พวกเขา?หรือฉันจะถาวรผนวกเข้าสู่ตัวแปรเส้นทางของระบบผ่านทางบรรทัดคำสั่ง?การทำเช่นนี้ )
คุณสามารถใช้fmediaเพื่อเล่นไฟล์เสียงจากเทอร์มินัล Windows:
fmedia file.mp3
คำสั่งนี้จะเริ่มเล่นfile.mp3
ในเบื้องหน้าและออกหลังจากไฟล์เสร็จสิ้นการเล่น
หากคุณต้องการที่จะทำในพื้นหลังเพิ่ม--background
สวิตช์ไปที่คำสั่งของคุณ:
fmedia file.wav --background
คำสั่งนี้จะเริ่มกระบวนการใหม่ในพื้นหลังและแยกออกจากคอนโซลของคุณทันที
fmedia เป็นแอปพลิเคชั่นพกพา (ทำงานได้โดยไม่ต้องติดตั้ง) และใช้ทรัพยากรระบบเพียงเล็กน้อย นอกจากนี้เวลาเริ่มต้นของมันทันที
PS ใช้คำสั่งfmedia.exe --install
เพื่อเพิ่มไปยังคุณตัวแปรสภาพแวดล้อมมิฉะนั้นคุณจะต้องดำเนินการกับเส้นทางแบบเต็มเช่น%PATH%
D:\fmedia\fmedia.exe
start file.wav
เป็นความคิดที่ไม่ดี อาจใช้เวลาสักครู่ในการเริ่มโปรแกรมเล่นสื่อที่ป่อง นอกจากนี้ความสัมพันธ์ของแฟ้มอาจจะผิด, เครื่องเล่นสื่ออาจจะไม่เล่นไฟล์หรือมันอาจจะเล่นมันซ้ำแล้วซ้ำอีก ฯลฯวิธีการสร้างง่าย "เสียงเตือน" คือการเขียน "^ G" ไม่ใช่สำเนียงหมวกที่ตามมาด้วยตัวพิมพ์ใหญ่ G แต่เป็นอักขระพิเศษที่คุณแทรกโดยกด Ctrl + G จริงๆแล้วมันเป็นอักขระ BEL ที่มีค่า ASCII 0x07beep ^G