Antarmuka ISpatialAudioClient (spatialaudioclient.h)

Antarmuka ISpatialAudioClient memungkinkan klien untuk membuat aliran audio yang memancarkan audio dari posisi di ruang 3D. Antarmuka ini adalah bagian dari Windows Sonic, platform audio Microsoft untuk audio yang lebih imersif yang mencakup suara spasial terintegrasi pada Xbox dan Windows.

Warisan

Antarmuka ISpatialAudioClient mewarisi dari antarmuka IUnknown . ISpatialAudioClient juga memiliki jenis anggota ini:

Metode

Antarmuka ISpatialAudioClient memiliki metode ini.

 
ISpatialAudioClient::ActivateSpatialAudioStream

Mengaktifkan dan menginisialisasi aliran audio spasial menggunakan salah satu struktur aktivasi aliran audio spasial.
ISpatialAudioClient::GetMaxDynamicObjectCount

Mendapatkan jumlah maksimum objek audio dinamis untuk klien audio spasial.
ISpatialAudioClient::GetMaxFrameCount

Mendapatkan jumlah bingkai maksimum yang mungkin per lulus pemrosesan. Metode ini dapat digunakan untuk menentukan ukuran buffer sumber yang harus dialokasikan untuk menyampaikan data audio untuk setiap pass pemrosesan.
ISpatialAudioClient::GetNativeStaticObjectTypeMask

Mendapatkan masker saluran yang mewakili subset saluran tempat tidur speaker statis asli ke mesin penyajian saat ini.
ISpatialAudioClient::GetStaticObjectPosition

Mendapatkan posisi dalam ruang 3D dari saluran audio spasial statis yang ditentukan.
ISpatialAudioClient::GetSupportedAudioObjectFormatEnumerator

Mendapatkan IAudioFormatEnumerator yang berisi semua format audio yang didukung untuk objek audio spasial, item pertama dalam daftar mewakili format yang paling disukai.
ISpatialAudioClient::IsAudioObjectFormatSupported

Mendapatkan nilai yang menunjukkan apakah ISpatialAudioObjectRenderStream mendukung format yang ditentukan.
ISpatialAudioClient::IsSpatialAudioStreamAvailable

Jika berhasil, mendapatkan nilai yang menunjukkan apakah mesin penyajian spasial yang saat ini aktif mendukung aliran render audio spasial yang ditentukan.

Keterangan

Contoh kode berikut menggambarkan cara menginisialisasi antarmuka ini menggunakan IMMDevice.

HRESULT hr;
Microsoft::WRL::ComPtr<IMMDeviceEnumerator> deviceEnum;
Microsoft::WRL::ComPtr<IMMDevice> defaultDevice;

hr = CoCreateInstance(__uuidof(MMDeviceEnumerator), nullptr, CLSCTX_ALL, __uuidof(IMMDeviceEnumerator), (void**)&deviceEnum);
hr = deviceEnum->GetDefaultAudioEndpoint(EDataFlow::eRender, eMultimedia, &defaultDevice);

Microsoft::WRL::ComPtr<ISpatialAudioClient> spatialAudioClient;
hr = defaultDevice->Activate(__uuidof(ISpatialAudioClient), CLSCTX_INPROC_SERVER, nullptr, (void**)&spatialAudioClient);

Untuk aplikasi UWP yang tidak memiliki akses ke IMMDevice, Anda harus mendapatkan instans ISpatialAudioClient dengan memanggil ActivateAudioInterfaceAsync. Misalnya, lihat sampel WindowsAudioSession.

Catatan Saat menggunakan antarmuka ISpatialAudioClient pada judul Xbox One Development Kit (XDK), Anda harus terlebih dahulu memanggil EnableSpatialAudio sebelum memanggil IMMDeviceEnumerator::EnumAudioEndpoints atau IMMDeviceEnumerator::GetDefaultAudioEndpoint. Kegagalan untuk melakukannya akan mengakibatkan kesalahan E_NOINTERFACE dikembalikan dari panggilan ke Aktifkan. EnableSpatialAudio hanya tersedia untuk judul XDK, dan tidak perlu dipanggil untuk aplikasi Platform Windows Universal yang berjalan di Xbox One, atau untuk perangkat non-Xbox One.
 
Untuk mengakses ActivateAudioIntefaceAsync, Anda harus menautkan ke mmdevapi.lib.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 10, versi 1703 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2016 [hanya aplikasi desktop]
Target Platform Windows
Header spatialaudioclient.h