เล่นเสียง (อาจเป็น WAV?) จากคำสั่ง line ของ Windows


26

ฉันจะเล่นเสียงได้อย่างไร (CPU Beep หรือ wav ไม่สำคัญว่าอะไร) โดยใช้ Windows cmd


4
การใช้start file.wavเป็นความคิดที่ไม่ดี อาจใช้เวลาสักครู่ในการเริ่มโปรแกรมเล่นสื่อที่ป่อง นอกจากนี้ความสัมพันธ์ของแฟ้มอาจจะผิด, เครื่องเล่นสื่ออาจจะไม่เล่นไฟล์หรือมันอาจจะเล่นมันซ้ำแล้วซ้ำอีก ฯลฯวิธีการสร้างง่าย "เสียงเตือน" คือการเขียน "^ G" ไม่ใช่สำเนียงหมวกที่ตามมาด้วยตัวพิมพ์ใหญ่ G แต่เป็นอักขระพิเศษที่คุณแทรกโดยกด Ctrl + G จริงๆแล้วมันเป็นอักขระ BEL ที่มีค่า ASCII 0x07 beep ^G
Andreas Rejbrand

คำตอบ:


-2

ไม่ได้อยู่ใน windows ตอนนี้เพื่อทดสอบวิธีแก้ปัญหาที่เป็นไปได้ แต่ลอง: "เริ่มต้น"

ฉันคิดว่ามันจะเปิดไฟล์ wav ด้วยโปรแกรมที่เกี่ยวข้องที่ windows ของคุณมีสำหรับไฟล์ ".wav"

และโปรดทราบว่านี่เป็นสิ่งที่เดาได้ยาก - คนที่มีหน้าต่างอาจให้ทางออกที่ดีกว่าแก่คุณหากนี่ไม่ใช่งาน


1
แน่นอนว่ามันจะเปิดไฟล์ในทุกแอปพลิเคชันที่เกี่ยวข้องกับประเภท แต่นั่นก็คือ มันขึ้นอยู่กับแอพพลิเคชั่นนั้นในการตัดสินใจว่ามันจะทำอะไรกับมัน - มันอาจเล่นได้มันอาจเพิ่มมันเข้าไปในคิวหรืออย่างอื่น แม้ว่ามันจะเล่นไฟล์ แต่ก็มีโอกาสทั้งหมดที่มันจะไม่ยุติหลังจากเล่นซึ่งหมายความว่าอาจเป็นความคิดที่ไม่ดี

นี่ไม่ใช่คำตอบที่ดีที่สุด!
อันโตนิโอ

@ อันโตนิโอนั่นคือในปี 2010 :)
zipizap

น่าแปลกใจที่ทำเครื่องหมายว่า "คำตอบที่ดีที่สุด" ได้รับการยอมรับ! 😁
Henrik

50

คุณสามารถทำได้โดยกำเนิดด้วย PowerShell PowerShell มีอยู่ใน Windows Vista และใหม่กว่าและสามารถดาวน์โหลดได้จาก Microsoft สำหรับรุ่นที่เก่ากว่า


ไฟล์ Wave

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

แหล่ง


เป็นไปได้หรือไม่ที่มีคำสั่ง kill และกำลังเล่นไฟล์ wav ก่อนที่จะเรียกใช้ไฟล์ wav ใหม่
Dodd10x

@ Dodd10x ไม่ใช่เรื่องง่ายสำหรับเสียงระดับโลกหมายเลข คุณช่วยให้บริบทเพิ่มเติมหรือไม่ คุณตั้งใจจะฆ่าหรือหยุด? ผู้เล่นคนอื่นเป็นอีกตัวอย่างของสคริปต์นี้หรือเครื่องเล่นสื่อหรือเบราว์เซอร์เกม ฯลฯ หรือไม่ หากเป็นอีกตัวอย่างหนึ่งของสคริปต์เดียวกันแสดงว่าง่ายกว่ามาก (แม้ว่าจะยังไม่เป็นเรื่องเล็กน้อยก็ตาม)
Bob

เป็นอีกตัวอย่างหนึ่งของสคริปต์เดียวกัน ฉันคิดว่าฉันสามารถเพิ่มบรรทัดเพื่อฆ่า powershell.exe ในรายการงานก่อน
Dodd10x

@ Dodd10x มีสองวิธีที่ฉันอยากจะแนะนำ หนึ่งคือการรับ ID กระบวนการของอินสแตนซ์ PowerShell และบันทึกลงในไฟล์จากนั้นฆ่า ID นั้นในตอนเริ่มต้นของอินสแตนซ์ใหม่ (และล้างไฟล์) สิ่งนี้ปลอดภัยกว่าการฆ่ากระบวนการ PS ทั้งหมด อีกวิธีหนึ่งคือใช้สัญญาณ (สัญญาณ / สัญญาณ) ใน PowerShell - คุณต้องส่งสัญญาณสัญญาณใช้Play()(async) รอสัญญาณสัญญาณแล้วปิด เซมาฟอร์เป็นวิธีที่สะอาดกว่าในการทำเช่นนี้ แต่ค่อนข้างซับซ้อนกว่าเล็กน้อย ผมยินดีที่จะเข้าไปดูรายละเอียดเพิ่มเติมในการแชท
Bob


5

วิธีแก้ปัญหา (บางประเภท):

1) เรียกใช้ไฟล์เสียง

2) รอจนกระทั่งแทร็กสิ้นสุด (ในกรณีของฉันคือ 5 วินาที) และปิดโปรแกรมเล่นสื่อ

start wmplayer "C:\Windows\Media\Alarm10.wav" && timeout 5 && taskkill /im wmplayer.exe

4

ติดตั้ง VLC ใช้คำสั่งดังต่อไปนี้ มันเริ่มต้นขึ้นอย่างรวดเร็วจริงๆ นี่คือสิ่งที่ฉันใช้ใน Windows 7 b / c wmplayer ใช้เวลาโหลดนานและตัวเลือก / close ถูกลบออกจาก wmplayer

vlc.exe --play-and-exit audio.wav

น่าเสียดายที่นี่ทำงานบนพื้นหน้า
honzajde

ใช่นี่เป็นจุดประสงค์เพื่อแทนที่เมธอด wmplayer เนื่องจากโหลดช้าและพวกเขาลบการสนับสนุนสำหรับ / อาร์กิวเมนต์ปิด วิธี PowerShell น่าจะเป็นทางออกที่ดีที่สุด
Mark Ribau

1
สำหรับผู้ที่มองหาโซลูชัน VLC ที่ไม่มีหัวขาดvlc -I dummy --dummy-quiet t.mp3 vlc://quitจากforum.videolan.org/viewtopic.php?t=79516#p262603
MLM

2

(ในขณะที่เธรดเก่า ๆ ผู้คนจะค้นพบมันในการค้นหา) ฉันเห็นคนที่แนะนำ 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 จะทำงานด้วย


1

หากเสียงบี๊บธรรมดาดีแล้วให้สะท้อนอักขระที่มีค่า 7 ซึ่งเป็นอักขระระฆังตัวละครระฆังอย่างไรก็ตามโปรดทราบว่าสามารถปิดเสียงบี๊บได้

หากคุณต้องการสิ่งอื่นคุณจะต้องเปิดแอปพลิเคชันที่ใช้กลอุบาย


1

คุณสามารถเขียนแอปพลิเคชันคอนโซลแบบง่ายที่ใช้ไฟล์เสียง (หรือรหัสเสียง) เป็นอาร์กิวเมนต์และเรียกว่าPlaySound


1

โซลูชันที่มีน้ำหนักเบามากคือ cmndPlayWAV.jar ซึ่งทำงานบน Linux และ OS / X มันมีเสียงในตัวหากไม่มีการระบุพารามิเตอร์หรือคุณสามารถกำหนดพา ธ แบบเต็มให้กับไฟล์. wav สิ่งหนึ่งที่ทำให้ข้อความเสียง. wav ใช้กับ Windows Recorder ได้เสมอ


ยินดีต้อนรับสู่ Super User! โปรดอ่านฉันจะแนะนำซอฟต์แวร์สำหรับเคล็ดลับเกี่ยวกับวิธีการแนะนำซอฟต์แวร์ได้อย่างไร คุณควรให้ลิงค์อย่างน้อยข้อมูลเพิ่มเติมบางอย่างเกี่ยวกับตัวซอฟต์แวร์เองและวิธีการใช้ในการแก้ปัญหาในคำถาม
DavidPostill


0

ฉันใช้mplayerสำหรับสิ่งนี้ overkill นิดหน่อยเพราะสามารถเล่นไฟล์สื่อได้เกือบทุกชนิด การสร้าง windows ล่าสุดสามารถดูได้ที่spirtonในปี 2013 ตัวอย่างการใช้งาน:

mplayer c:\windows\media\chimes.wav

คุณควรเพิ่ม mplayer.exe ที่คุณPATH (ดูสิ่งที่เป็นเส้นทางและสภาพแวดล้อมอื่นตัวแปรและวิธีการที่ฉันสามารถตั้งค่าหรือใช้พวกเขา?หรือฉันจะถาวรผนวกเข้าสู่ตัวแปรเส้นทางของระบบผ่านทางบรรทัดคำสั่ง?การทำเช่นนี้ )


0

คุณสามารถใช้fmediaเพื่อเล่นไฟล์เสียงจากเทอร์มินัล Windows:

fmedia file.mp3

คำสั่งนี้จะเริ่มเล่นfile.mp3ในเบื้องหน้าและออกหลังจากไฟล์เสร็จสิ้นการเล่น

หากคุณต้องการที่จะทำในพื้นหลังเพิ่ม--backgroundสวิตช์ไปที่คำสั่งของคุณ:

fmedia file.wav --background

คำสั่งนี้จะเริ่มกระบวนการใหม่ในพื้นหลังและแยกออกจากคอนโซลของคุณทันที

fmedia เป็นแอปพลิเคชั่นพกพา (ทำงานได้โดยไม่ต้องติดตั้ง) และใช้ทรัพยากรระบบเพียงเล็กน้อย นอกจากนี้เวลาเริ่มต้นของมันทันที

PS ใช้คำสั่งfmedia.exe --installเพื่อเพิ่มไปยังคุณตัวแปรสภาพแวดล้อมมิฉะนั้นคุณจะต้องดำเนินการกับเส้นทางแบบเต็มเช่น%PATH%D:\fmedia\fmedia.exe

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.