เปลี่ยนระดับเสียงของ Windows ผ่านทางบรรทัดคำสั่ง


19

เป็นไปได้ไหมที่จะเปลี่ยนระดับเสียงใน Windows XP ผ่านทางบรรทัดคำสั่ง?


1
AutoHotkey สามารถทำเช่นนี้ซึ่งคุณสามารถรวบรวมและโทรจากบรรทัดคำสั่ง
แมทธิวล็อค

ต้องการเครื่องมือของบุคคลที่สามเพื่อตั้งระดับเสียง ฉันกลัวโดยสิ้นเชิง
m3nda

คำตอบ:


31

NirCmdเป็นแอปพลิเคชั่นที่ทำเช่นนั้นและอีกมากมาย

ตัวอย่างการใช้งาน:

  • เพิ่มระดับเสียงของระบบ 2000 หน่วย (จาก 65535)
    nircmd.exe changesysvolume 2000
  • ลดระดับเสียงของระบบลง 5,000 หน่วย (จาก 65535)
    nircmd.exe changesysvolume -5000
  • ตั้งระดับเสียงเป็นค่าสูงสุด
    nircmd.exe setsysvolume 65535
  • ใบ้
    nircmd.exe mutesysvolume 1
  • เปิดเสียง
    nircmd.exe mutesysvolume 0

2
หวังว่าจะมีวิธีการมาตรฐานของ Windows แต่สิ่งนี้ดูมีประโยชน์มาก จะยอมรับสิ่งนี้หากไม่มีใครส่งหนึ่งในหนึ่งหรือสองวันถัดไป ขอบคุณแฮรี่
Underskor

NirCmd ดูดีและมีประโยชน์มาก ขอบคุณสำหรับทิป.
ปู

NirCmd ยังยอดเยี่ยมสำหรับการใช้งานแล็ปท็อปเพื่อปิดเสียงในการเข้าสู่ระบบทุกครั้ง - วิธีนี้จะไม่ทำให้เสียง "ding" บนรถไฟเกิดขึ้นโดยไม่ตั้งใจ (ซึ่งฉันไม่ได้สังเกตเพราะหูฟังจนกระทั่งช่วงเวลาที่น่าอาย พอที่จะชี้ให้เห็น ..... )
RomanSt

2
เห็นได้ชัดว่ายังใช้งานได้บน Windows 7 เนื่องจากตอนนี้มีคำตอบที่ถูกลบไปแล้วบางส่วน
Daniel Beck

มีสคริปต์เชิงโต้ตอบที่ใช้งานง่ายที่ฉันสร้างขึ้นเพื่อทำให้เข้าใจง่ายขึ้นอยู่กับnircmdว่า

8

ทำไฟล์ JavaScript:

echo var oShell = new ActiveXObject("WScript.Shell"); >> volup.js<BR>
echo oShell.SendKeys(String.fromCharCode(0xAF)); >> volup.js

echo var oShell = new ActiveXObject("WScript.Shell"); >> voldown.js<BR>
echo oShell.SendKeys(String.fromCharCode(0xAE)); >> voldown.js

echo var oShell = new ActiveXObject("WScript.Shell"); >> togglemute.js<BR>
echo oShell.SendKeys(String.fromCharCode(0xAD)); >> togglemute.js

แสดงตัวควบคุมระดับเสียงเพื่อให้คุณเห็นสิ่งที่คุณกำลังทำอยู่:

sndvol
(or maybe sndvol32)

เปลี่ยนระดับเสียง:

cscript voldown.js

หมายเหตุ: ฉันมีวิธีการนี้ทำงานได้อย่างน่าเชื่อถือในเครื่องที่ฉันพยายามใช้ คำตอบของเฮเลนสำหรับคำถาม StackOverflow ของ Sibo Lin เกี่ยวกับเรื่องนี้บ่งชี้ว่าการปิดเสียงไม่น่าเชื่อถือ แต่การเปลี่ยนระดับเสียงอาจไม่น่าเชื่อถือเท่าที่ควร ฉันสงสัยว่าระดับความน่าเชื่อถืออาจแตกต่างกันในเครื่องที่แตกต่างกัน วิธีนี้ใช้เทคโนโลยีในการเลียนแบบการกดแป้นและโดยเฉพาะปุ่มควบคุมระดับเสียงบนแป้นพิมพ์สื่อที่ได้รับการปรับปรุง ในขณะที่ Windows เริ่มให้การสนับสนุนแป้นพิมพ์ดังกล่าวนั้นเป็นคุณสมบัติที่ใช้งานเล็กน้อยซึ่งเคยมีฟังก์ชั่นการใช้งานก่อนหน้านี้ที่มีเฉพาะกับไดรเวอร์ที่กำหนดเองเท่านั้น มันจะไม่แปลกใจเลยถ้ารหัสนี้ขัดน้อยกว่าและมีโอกาสน้อยที่จะทำงานกับฮาร์ดแวร์ (อาจเก่ากว่า) บางอย่างที่อยู่ข้างนอก ทั้งหมดที่กล่าวมาฉันไม่ได้มีปัญหากับตัวเอง

เครดิต:

One caveat: คำถามนี้ถูกแท็กด้วย Windows XP ฉันเพิ่งลองสิ่งนี้ใน Windows 10 ฉันรู้ว่าฉันใช้สิ่งนี้ใน Windows 7 (อย่างน้อยก็เพียงพอที่จะทดสอบ) เมื่อฉันเริ่มเห็นการสนับสนุนในตัวของ Microsoft สำหรับแป้นพิมพ์ที่ได้รับการปรับปรุงเหล่านี้ในช่วงเวลาที่ฉันใช้ Windows ME ฉันคิดว่านี่น่าจะชนะ WinXP ได้เช่นกัน ฉันจำไม่ได้ว่าฉันทดสอบสิ่งนี้ด้วยระบบปฏิบัติการจริงหรือไม่ ถึงกระนั้นหากวิธีการนี้ใช้งานไม่ได้ผลฉันไม่คาดหวังว่าจะทำให้เกิดผลข้างเคียงที่เป็นปัญหา


ขอขอบคุณที่แบ่งปันรหัสเหล่านั้น! เนื่องจากคอมพิวเตอร์ของฉันติดตั้งpip install SendKeysไพ ธ อนอยู่แล้วฉันจึงสามารถใช้สิ่งนี้ในบรรทัดคำสั่ง: (แพคเกจ Python บริสุทธิ์สำหรับการเลียนแบบการกดแป้นพิมพ์) ตามด้วยpython -c "from SendKeys import playkeys; playkeys([(0xAE, True), (0xAE, False)])"ซึ่งเลียนแบบการกดครั้งเดียวและปล่อยปุ่มปรับระดับเสียง ที่จะเลียนแบบ 100 กดที่แตกต่างกัน (ตัวอย่าง) คุณสามารถแทรก* 100หลังจากปิดและก่อนที่สุดท้าย] )
ArtOfWarfare

7

หลังจากอ่านโพสต์เหล่านี้และมองหาทางเลือกอื่นฉันตัดสินใจที่จะเขียนโปรแกรมอรรถประโยชน์บรรทัดคำสั่งของตัวเองชื่อ SetVol เพื่อตั้งระดับเสียง มันใช้งานได้ง่ายกว่าที่อธิบายไว้ในโพสต์อื่น ๆ ในหน้านี้นี่คือตัวอย่างบางส่วนที่คุณจะป้อนที่ command prompt:

setvol 75
setvol -10
setvol +12
setvol mute
setvol unmute

มีตัวเลือกอื่นด้วย ฉันได้เปิดตัวมันเป็นฟรีแวร์และคุณสามารถเยี่ยมชมwww.rlatour.com/setvolสำหรับข้อมูลเพิ่มเติมและดาวน์โหลดสำเนา

สนุก


อันนี้ยอดเยี่ยม ขอบคุณมากสำหรับเครื่องมือนี้!
cssyphus

ขอบคุณ !! อย่างไรก็ตามฉันต้องการสิ่งนี้จริงๆสำหรับการตั้งค่าระดับเสียงไมค์ (ฉันใช้ Java แต่ฉันไม่คาดว่า JavaSound จะทำสิ่งนี้) สามารถเพิ่มได้หรือไม่
Stefan Reich

เยี่ยมมากขอบคุณ! คำขอคุณลักษณะสำหรับอนาคต: ความสามารถในการส่งคืนระดับเสียงปัจจุบันเป็นerrorlevel(ดังนั้นฉันสามารถบันทึกการตั้งค่าปัจจุบันเพื่อเรียกคืนได้ในภายหลัง)
ashleedawg

1
แน่นอนว่าฉันสามารถทำสิ่งนั้นได้ - และที่จริงแล้วเพิ่งทำ! โปรแกรมได้รับการอัพเดตเป็นเวอร์ชั่น 1.2 บนเว็บไซต์คุณอาจต้องรีเฟรชเบราว์เซอร์เพื่อดูการเปลี่ยนแปลง ขณะนี้มี 'รายงาน' parm ใหม่ที่ควรให้สิ่งที่คุณต้องการ ช่วยในเว็บไซต์และในแอพอธิบายว่ามันใช้ สุขสันต์วันคริสต์มาส!
Rob

(มันบอกว่าคืนระดับเสียงปัจจุบันตามคำแนะนำของ ashleedawg)
Rob

4

เป็นเจ้าของและลดความซับซ้อนของ Nircmd

@echo off
rem 65536 is 100%
rem device where zero is the default device
rem left and right
rem supports whole numbers only therefore throws "missing operator" error when specifying 655.36
set /a volume=%1 * 655
nircmd setvolume 0 %volume% %volume%

บันทึกเป็นไฟล์. bat และดำเนินการโดยส่งพารามิเตอร์

เช่น: sound 60จะตั้งค่าระดับเสียง 60%

ตรวจสอบให้แน่ใจว่าคุณใส่ไฟล์ bat ติดกับ nircmd หรือใน%windir%(หรือกำหนดโฟลเดอร์ไว้%path%)

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