Phát âm thanh (có thể là WAV?) Từ lệnh dòng Windows


26

Làm cách nào tôi có thể phát âm thanh (CPU Beep hoặc wav, không có vấn đề gì) bằng cách sử dụng cmd Windows?


4
Sử dụng start file.wavlà một ý tưởng tồi. Có thể mất một giây để bắt đầu một trình phát phương tiện cồng kềnh, chỉ với một tiếng bíp. Bên cạnh đó, các hiệp hội tập tin có thể sai, media player có thể không chơi các tập tin, hoặc nó có thể chơi nó hơn và hơn nữa, vv Các cách để tạo ra một đơn giản "bíp" là để ghi beep ^G. "^ G" không phải là dấu thập phân theo sau là chữ in hoa G, mà là một ký tự đặc biệt mà bạn chèn bằng cách nhấn Ctrl + G. Nó thực sự là ký tự BEL có giá trị ASCII 0x07.
Andreas Rejbrand

Câu trả lời:


-2

Không phải trong cửa sổ bây giờ, để thử nghiệm giải pháp có thể này, nhưng hãy thử: "bắt đầu"

Tôi nghĩ rằng nó sẽ mở tệp wav với chương trình được liên kết mà các cửa sổ của bạn dành cho các tệp ".wav".

Và lưu ý, đây là một phỏng đoán hoang dã - ai đó có cửa sổ có thể cung cấp cho bạn một giải pháp tốt hơn nếu điều này không thực hiện được công việc


1
Chà, chắc chắn nó sẽ mở tệp trong bất kỳ ứng dụng nào được liên kết với loại, nhưng đó là nó. Tùy thuộc vào ứng dụng đó để quyết định những gì nó làm với nó - nó có thể chơi nó, nó có thể thêm nó vào hàng đợi hoặc một cái gì đó khác. Ngay cả khi nó phát tệp, hoàn toàn có khả năng nó sẽ không chấm dứt sau khi chơi, có nghĩa đây có thể là một ý tưởng tồi.

Đây là rất nhiều không phải là câu trả lời tốt nhất!
Antonio

@Antonio, đó là vào năm 2010 :)
zipizap

Thật đáng ngạc nhiên, điều này được đánh dấu là "câu trả lời tốt nhất" được chấp nhận! 😁
Henrik

50

Bạn có thể thực hiện việc này một cách tự nhiên với PowerShell. PowerShell được bao gồm trong Windows Vista trở lên và có thể được tải xuống từ Microsoft cho các phiên bản cũ hơn.


Tập tin sóng

PowerShell có thể được sử dụng để tải System.Media.SoundPlayerlớp .NET, có thể được sử dụng để phát tệp sóng.

(New-Object Media.SoundPlayer "C:\WINDOWS\Media\notify.wav").Play();

Nếu bạn muốn, bạn có thể chạy nó từ dòng lệnh thông thường:

powershell -c (New-Object Media.SoundPlayer "C:\Windows\Media\notify.wav").PlaySync();

(lưu ý PlaySyncđược sử dụng trong ví dụ thứ hai do quá trình phát không đồng bộ tiêu chuẩn sẽ bị gián đoạn do quá trình PowerShell đóng khi được khởi chạy như thế này)

Và nếu bạn chỉ muốn chơi lần đầu tiên, hãy nói, 5 giây của âm thanh:

powershell -c (New-Object Media.SoundPlayer "C:\Windows\Media\notify.wav").Play(); Start-Sleep -s 5; Exit;

Tiếng kêu bíp

Một tiếng bíp có thể dễ dàng thực hiện trong dòng lệnh thông thường với echo ^G(trong đó ^Gđại diện cho ký tự BEL, ASCII 7, được chèn bằng Ctrl+ G), như được mô tả trong các câu trả lời khác. Để hoàn thiện, đây là phương pháp PowerShell:

echo ^G

Vâng, nó giống như cmdmột. echotrong PowerShell là một bí danh (có nghĩa là cùng một thứ) Write-Host, sẽ hiển thị một cái gì đó lên màn hình (hoặc kích hoạt âm thanh thông báo Windows trong trường hợp BEL).

Một phương pháp khác trong PowerShell là sử dụng chuỗi thoát cho BEL, thay vì chèn một ký tự BEL theo nghĩa đen với Ctrl+ G:

echo `a

`là ký tự thoát của PowerShell, nó sửa đổi ý nghĩa của ký tự sau nó. Một lối thoát acho thấy BEL. Ưu điểm của phương pháp này là dễ dàng và dễ thấy hơn khi nhập vào tập lệnh.

Để chạy tệp này trong một tệp bó (một lần nữa, Vista trở lên):

powershell -c echo `a

nguồn


Có thể cũng có lệnh kill này và hiện đang phát các tệp wav trước khi thực hiện tệp wav mới?
Dodd10x

@ Dodd10x Không dễ dàng cho âm thanh toàn cầu, không. Bạn có thể cung cấp thêm bối cảnh? Bạn có ý định giết hoặc tạm dừng? Là người chơi khác là một phiên bản khác của tập lệnh này, hoặc trình phát phương tiện, hoặc trình duyệt, trò chơi, v.v.? Nếu đó là một phiên bản khác của cùng một kịch bản, thì nó đơn giản hơn nhiều (mặc dù vẫn không hoàn toàn tầm thường).
Bob

Đó là một ví dụ khác của cùng một kịch bản. Tôi nghĩ rằng tôi có thể thêm một dòng để giết powershell.exe trong danh sách nhiệm vụ trước
Dodd10x 21/07/14

@ Dodd10x Có hai cách tôi muốn đề xuất. Một là lấy ID tiến trình của phiên bản PowerShell và lưu nó vào một tệp, sau đó hủy ID đó khi bắt đầu một phiên bản mới (và xóa tệp). Điều này an toàn hơn là giết tất cả các quy trình PS. Một cách khác là sử dụng một semaphore (cờ / tín hiệu) trong PowerShell - bạn sẽ báo hiệu semaphore, sử dụng Play()(async), chờ đợi một semaphore và đóng lại. Semaphores là một cách sạch hơn để làm điều này, nhưng phức tạp hơn một chút. Tôi rất vui khi đi sâu vào chi tiết hơn trong trò chuyện .
Bob


5

Giải pháp thay thế (một số loại):

1) chạy tập tin âm thanh

2) đợi cho đến khi bản nhạc kết thúc (trong trường hợp của tôi là 5 giây) và đóng trình phát phương tiện

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

4

Cài đặt VLC. Sử dụng lệnh sau. Nó khởi động thật nhanh. Đây là những gì tôi đã sử dụng trên Windows 7 b / c wmplayer mất quá nhiều thời gian để tải và tùy chọn / close đã bị xóa khỏi wmplayer.

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

Thật không may, điều này đang chạy trên foreground
honzajde

Phải, điều này được dự định để thay thế phương thức wmplayer vì nó tải chậm và họ đã loại bỏ hỗ trợ cho đối số / đóng. Phương pháp PowerShell có lẽ là đặt cược tốt nhất.
Đánh dấu Ribau

1
Đối với những người tìm kiếm một giải pháp VLC không đầu, vlc -I dummy --dummy-quiet t.mp3 vlc://quittừ forum.videolan.org/viewtopic.php?t=79516#p262603
MLM

2

(Trong khi một chủ đề cũ, mọi người sẽ tìm thấy nó trên một tìm kiếm). Tôi thấy ai đó đã đề nghị VLC. Tôi sử dụng nó để phát âm thanh trong Windows mà không có bất cứ thứ gì có thể nhìn thấy bằng các tham số: "c: \ Program Files (x86) \ videolan \ vlc \ vlc.exe" --qt-start-minimized --play-and-exit "c: \ Tệp chương trình (x86) \ videolan \ vlc \ Windows Exclamation.wav "

Bổ sung chính cho nhận xét trước đó là --qt-start-minimized Các đường dẫn và ký tự trích dẫn chỉ để minh họa cho việc sử dụng thông thường. Tôi đã sử dụng không thay đổi trong XP, 7, 10; Tôi hy vọng Vista và 8.x cũng hoạt động.


1

Nếu tiếng bíp không sao, hãy lặp lại ký tự có giá trị 7, cái gọi là ký tự chuông . Lưu ý, tuy nhiên, tiếng bíp có thể được tắt.

Nếu bạn muốn một cái gì đó khác, bạn sẽ phải khởi chạy một ứng dụng thực hiện thủ thuật.


1

Bạn có thể viết một ứng dụng bảng điều khiển đơn giản lấy tệp âm thanh (hoặc id âm thanh) làm đối số và được gọi là PlaySound


1

Một giải pháp rất nhẹ là cmndPlayWAV.jar cũng hoạt động trên Linux và OS / X. Nó có âm thanh tích hợp nếu không có tham số nào được chỉ định hoặc bạn có thể cung cấp đường dẫn đầy đủ đến tệp .wav. Ngẫu nhiên người ta luôn có thể tạo một tin nhắn âm thanh .wav để sử dụng với Windows Recorder.


Chào mừng bạn đến với Siêu người dùng! Vui lòng đọc Làm thế nào để tôi giới thiệu phần mềm cho một số mẹo về cách bạn nên giới thiệu phần mềm. Bạn nên cung cấp ít nhất một liên kết, một số thông tin bổ sung về chính phần mềm và cách sử dụng phần mềm để giải quyết vấn đề trong câu hỏi.
DavidPostill

0

Trên XP tôi làm điều này

start /min mplay32 /play /close %WINDIR%\media\tada.wav

Nó không lý tưởng nhưng nó thực sự dễ dàng và nó hoạt động.


0

Tôi sử dụng mplayercho việc này. Một chút quá mức vì nó có thể phát hầu hết các tệp phương tiện. Các bản dựng cửa sổ gần đây có thể được tìm thấy tại spirton , kể từ năm 2013. Ví dụ sử dụng:

mplayer c:\windows\media\chimes.wav

Bạn nên thêm mplayer.exe để bạn PATH (xem PATH và môi trường khác biến là gì, và làm thế nào tôi có thể thiết lập hoặc sử dụng chúng? Hoặc Làm thế nào tôi có thể vĩnh viễn append một mục vào biến PATH của hệ thống, thông qua dòng lệnh? Để làm điều này. )


0

Bạn có thể sử dụng fmedia để phát tệp âm thanh từ thiết bị đầu cuối Windows:

fmedia file.mp3

Lệnh này sẽ bắt đầu phát lại file.mp3trong foreground và thoát sau khi tệp đã phát xong.

Nếu bạn muốn làm điều đó trong nền, thêm --backgroundchuyển đổi vào lệnh của bạn:

fmedia file.wav --background

Lệnh này sẽ bắt đầu một quy trình mới trong nền và tách ra khỏi bảng điều khiển của bạn ngay lập tức.

fmedia là một ứng dụng di động (hoạt động mà không cần cài đặt) và tiêu tốn một lượng rất nhỏ tài nguyên hệ thống. Ngoài ra, thời gian khởi động của nó là ngay lập tức.

PS Sử dụng lệnh fmedia.exe --installđể thêm nó vào %PATH%biến môi trường của bạn , nếu không bạn cần phải thực thi nó với đường dẫn đầy đủ, ví dụ D:\fmedia\fmedia.exe.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.