IXAudio2::CreateMasteringVoice method (xaudio2.h)

Membuat dan mengonfigurasi suara mastering.

Sintaks

HRESULT CreateMasteringVoice(
  [out]          IXAudio2MasteringVoice     **ppMasteringVoice,
  [in]           UINT32                     InputChannels,
  [in]           UINT32                     InputSampleRate,
  [in]           UINT32                     Flags,
  [in]           LPCWSTR                    szDeviceId,
  [in, optional] const XAUDIO2_EFFECT_CHAIN *pEffectChain,
  [in, optional] AUDIO_STREAM_CATEGORY      StreamCategory
);

Parameter

[out] ppMasteringVoice

Jika berhasil, mengembalikan penunjuk ke objek IXAudio2MasteringVoice baru.

[in] InputChannels

Jumlah saluran yang diharapkan suara master dalam audio inputnya. InputChannels harus kurang dari atau sama dengan XAUDIO2_MAX_AUDIO_CHANNELS.

Anda dapat mengatur InputChannels ke XAUDIO2_DEFAULT_CHANNELS, yang menyebabkan XAudio2 mencoba mendeteksi penyiapan konfigurasi speaker sistem.

[in] InputSampleRate

Laju sampel data audio input suara master. Tarif ini harus berupa kelipatan XAUDIO2_QUANTUM_DENOMINATOR. InputSampleRate harus antara XAUDIO2_MIN_SAMPLE_RATE dan XAUDIO2_MAX_SAMPLE_RATE.

Anda dapat mengatur InputSampleRate ke XAUDIO2_DEFAULT_SAMPLERATE, dengan default ditentukan oleh platform saat ini.

Windows XP default ke 44100.

Windows Vista dan Windows 7 default ke pengaturan yang ditentukan dalam Panel Kontrol Suara. Default untuk pengaturan ini adalah 44100 (atau 48000 jika diperlukan oleh driver).

Bendera

[in] Flags

Bendera yang menentukan perilaku suara master. Ini bisa 0 atau XAUDIO2_NO_VIRTUAL_AUDIO_CLIENT.

[in] szDeviceId

Pengidentifikasi perangkat untuk menerima audio output. Menentukan nilai default NULL menyebabkan XAudio2 memilih perangkat audio default global. Pada Windows 10 atau yang lebih baru, NULL juga akan ikut serta ke klien virtual WASAPI kecuali XAUDIO2_NO_VIRTUAL_AUDIO_CLIENT diteruskan dalam Bendera.

[in, optional] pEffectChain

Arahkan ke struktur XAUDIO2_EFFECT_CHAIN yang menjelaskan rantai efek untuk digunakan dalam suara mastering, atau NULL untuk tidak menggunakan efek apa pun.

[in, optional] StreamCategory

Kategori aliran audio yang akan digunakan untuk suara mastering ini.

Mengembalikan nilai

Mengembalikan S_OK jika berhasil; jika tidak, kode kesalahan. Mengembalikan ERROR_NOT_FOUND jika tidak ada perangkat audio default dan NULL diteruskan sebagai parameter szDeviceId.

Lihat Kode Kesalahan XAudio2 untuk deskripsi kode kesalahan spesifik XAudio2.

Keterangan

Suara master menerima output dari satu atau beberapa suara sumber atau submix. Mereka memproses data, dan mengirimkannya ke perangkat output audio.

Biasanya, Anda harus membuat suara master dengan laju sampel input yang akan digunakan oleh sebagian besar konten audio judul. Suara mastering melakukan konversi laju sampel dari laju sampel input ini ke tingkat output perangkat aktual.

Anda tidak dapat membuat suara sumber atau submix hingga ada suara yang menguasai. Anda tidak dapat menghancurkan suara master jika ada suara sumber atau submix yang masih ada.

Suara master selalu diproses setelah semua suara sumber dan submix. Ini berarti Anda tidak perlu menentukan parameter ProcessingStage untuk mengontrol urutan pemrosesan.

XAudio2 hanya memungkinkan satu suara penguasaan ada sekaligus. Jika Anda mencoba membuat lebih dari satu suara, XAUDIO2_E_INVALID_CALL dikembalikan. Jika suara mastering tambahan diperlukan, misalnya untuk perangkat output dengan set kategori audio yang berbeda, Anda harus membuat instans XAudio2 tambahan.

Saat pertama kali dibuat, suara master berada dalam status dimulai.

Tidak valid untuk memanggil CreateMasteringVoice dari dalam panggilan balik (yaitu, IXAudio2EngineCallback atau IXAudio2VoiceCallback). Jika Anda memanggil CreateMasteringVoice dalam panggilan balik, itu akan mengembalikan XAUDIO2_E_INVALID_CALL.

XAUDIO2_EFFECT_CHAIN yang diteruskan sebagai argumen pEffectChain dan informasi XAUDIO2_EFFECT_DESCRIPTOR apa pun yang terkandung di dalamnya tidak lagi diperlukan setelah CreateMasteringVoice berhasil diselesaikan, dan dapat dihapus segera setelah CreateMasteringVoice dipanggil.

Perhatikan bahwa SDK DirectX XAUDIO2 versi CreateMasteringVoice mengambil argumen DeviceIndex alih-alih argumen szDeviceId dan StreamCategory. Ini mencerminkan perubahan yang diperlukan untuk model enumerasi perangkat Windows standar.

Persyaratan Platform

Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); DirectX SDK (XAudio 2.7)

Persyaratan

Persyaratan Nilai
Target Platform Windows
Header xaudio2.h

Lihat juga

Cara: Membangun Grafik Pemrosesan Audio Dasar

IXAudio2

Gambaran Umum XAPO

Konversi Laju Sampel XAudio2