2009-10-12 43 views
8

Làm cách nào tôi có thể thay đổi chương trình thiết bị âm thanh mặc định trên hệ thống vista/win 7? Sử dụng C# hoặc một cuộc gọi API Win?C# Cách lập trình thay đổi thiết bị phát lại

+2

này về cơ bản là một bản sao của http://stackoverflow.com/questions/1334076/how-to-change-default-audio-input-device-programatically trừ đầu vào vs thiết bị đầu ra, một trong hai cách, không có API cho nó trên Vista + trừ khi bạn muốn dịch ngược trung tâm truyền thông và tìm những thứ không có giấy tờ – Anders

Trả lời

8

API WinMM sẽ cung cấp chức năng mà bạn yêu cầu.

Bạn sẽ sử dụng thông báo DRVM_MAPPER_PREFERRED_SET, được gửi với hàm waveOutMessage().

Tài liệu: http://msdn.microsoft.com/en-us/library/aa909789.aspx

Tuy nhiên, nếu bạn đang cố gắng để gửi dạng sóng âm thanh ra khỏi chính mình, bạn nên nhìn vào các thư viện WinMM.Net.

http://winmm.codeplex.com

+2

Tất cả những gì tôi cần làm là thay đổi thiết bị âm thanh trên Windows, để tất cả các tuyến âm thanh thông qua thiết bị đó. Về cơ bản tôi có rất nhiều thiết bị âm thanh trên hệ thống của mình và tôi muốn thay thế ứng dụng khay mặc định của sys, vì vậy tôi không cần phải nhấp chuột phải, mở trình quản lý thiết bị mỗi lần tôi cần chuyển thiết bị. API này sẽ làm điều này? –

+0

Có, Bạn có thể đặt thiết bị phát lại âm thanh mặc định trong XP bằng thông báo DRVM_MAPPER_PREFERRED_SET, được gửi cùng với waveOutMessage(). Điều này không hoạt động trong Vista. Tôi đang nghiên cứu. –

+0

Cảm ơn, tôi nghĩ rằng liên kết cuối cùng này sẽ hoạt động, nó sẽ cổng để giành chiến thắng 7 hy vọng! –

Các vấn đề liên quan