mmdevapi audioendpoints: Bir Bakış
Giriş
mmdevapi audioendpoints, Windows işletim sisteminde ses cihazlarını ve akışlarını yönetmek için kullanılan bir API’dir (Uygulama Programlama Arayüzü). Geliştiricilerin ses giriş ve çıkış cihazlarını kontrol etmelerine, ses akışlarını yönetmelerine ve ses cihazlarının özelliklerini alma ve ayarlama olanağı sağlar.
mmdevapi audioendpoints’in Özellikleri
mmdevapi audioendpoints, aşağıdakiler de dahil olmak üzere çok çeşitli özellikler sunar:
- Ses cihazlarını listeleme: Geliştiriciler, sisteme bağlı tüm ses cihazlarının bir listesini alabilir.
- Ses cihazı özelliklerini alma: Geliştiriciler, her ses cihazının örnekleme hızı, bit derinliği ve kanal sayısı gibi özelliklerini alabilir.
- Ses cihazı varsayılanlarını ayarlama: Geliştiriciler, varsayılan ses giriş ve çıkış cihazlarını ayarlayabilir.
- Ses akışlarını yönetme: Geliştiriciler, ses akışlarını oluşturabilir, başlatabilir, durdurabilir ve kapatabilir.
- Ses akışı özelliklerini ayarlama: Geliştiriciler, ses akışlarının örnekleme hızını, bit derinliğini ve kanal sayısını ayarlayabilir.
mmdevapi audioendpoints’in Kullanımı
mmdevapi audioendpoints, C/C++ ve .NET dillerinde kullanılabilir. API, aşağıdaki gibi çeşitli işlevler sağlar:
- IMMDeviceEnumerator: Ses cihazlarını listeler.
- IMMDevice: Bir ses cihazını temsil eder.
- IAudioClient: Bir ses akışını temsil eder.
- IAudioCaptureClient: Ses giriş akışını temsil eder.
- IAudioRenderClient: Ses çıkış akışını temsil eder.
Örnek Kod
Aşağıdaki C++ kodu örneği, mmdevapi audioendpoints’i kullanarak varsayılan ses çıkış cihazını nasıl alacağınızı gösterir:
“`cpp
include
int main()
{
IMMDeviceEnumerator deviceEnumerator = nullptr;
IMMDevice defaultDevice = nullptr;
HRESULT hr = CoCreateInstance(__uuidof(MMDeviceEnumerator), nullptr, CLSCTX_INPROC_SERVER, __uuidof(IMMDeviceEnumerator), (void**)&deviceEnumerator);
if (FAILED(hr))
{
return hr;
}
hr = deviceEnumerator->GetDefaultAudioEndpoint(eRender, eConsole, &defaultDevice);
if (FAILED(hr))
{
deviceEnumerator->Release();
return hr;
}
// Varsayılan ses çıkış cihazının özelliklerini alın.
deviceEnumerator->Release();
defaultDevice->Release();
return 0;
}
“`
Faydalı Kaynaklar
- mmdevapi audioendpoints belgeleri
- mmdevapi audioendpoints örnekleri
- Ses cihazlarını yönetme
- Ses akışlarını yönetme