Bagikan melalui


IXAudio2::CreateSubmixVoice method (xaudio2.h)

Membuat dan mengonfigurasi suara submix.

Sintaks

HRESULT CreateSubmixVoice(
  [out]          IXAudio2SubmixVoice        **ppSubmixVoice,
  [in]           UINT32                     InputChannels,
  [in]           UINT32                     InputSampleRate,
  [in]           UINT32                     Flags,
  [in]           UINT32                     ProcessingStage,
  [in, optional] const XAUDIO2_VOICE_SENDS  *pSendList,
  [in, optional] const XAUDIO2_EFFECT_CHAIN *pEffectChain
);

Parameter

[out] ppSubmixVoice

Setelah berhasil, mengembalikan penunjuk ke objek IXAudio2SubmixVoice baru.

[in] InputChannels

Jumlah saluran dalam data audio input suara submix. InputChannels harus kurang dari atau sama dengan XAUDIO2_MAX_AUDIO_CHANNELS.

[in] InputSampleRate

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

[in] Flags

Bendera yang menentukan perilaku suara submix. Bisa 0 atau berikut ini:

Nilai Deskripsi
XAUDIO2_VOICE_USEFILTER Efek filter harus tersedia pada suara ini.

[in] ProcessingStage

Angka arbitrer yang menentukan kapan suara ini diproses sehubungan dengan suara submix lainnya, jika mesin XAudio2 menjalankan suara submix lainnya. Suara diproses setelah semua suara lain yang menyertakan nilai ProcessingStage yang lebih kecil dan sebelum semua suara lain yang menyertakan nilai ProcessingStage yang lebih besar. Suara yang menyertakan nilai ProcessingStage yang sama diproses dalam urutan apa pun. Suara submix tidak dapat dikirim ke suara submix lain dengan nilai ProcessingStage yang lebih rendah atau sama dengan. Ini mencegah audio hilang karena siklus submix.

[in, optional] pSendList

Arahkan ke daftar struktur XAUDIO2_VOICE_SENDS yang menjelaskan kumpulan suara tujuan untuk suara submix. Jika pSendList ADALAH NULL, daftar kirim akan default ke satu output ke suara master pertama yang dibuat.

[in, optional] pEffectChain

Arahkan ke daftar struktur XAUDIO2_EFFECT_CHAIN yang menjelaskan rantai efek untuk digunakan dalam suara submix.

Mengembalikan nilai

Mengembalikan S_OK jika berhasil; jika tidak, kode kesalahan.

Lihat Kode Kesalahan XAudio2 untuk deskripsi kode kesalahan spesifik XAudio2.

Keterangan

Suara submix menerima output dari satu atau beberapa suara sumber atau submix. Mereka memproses output, lalu mengirimkannya ke suara submix lain atau ke suara penguasa.

Suara submix melakukan konversi laju sampel dari laju sampel input ke tingkat input suara outputnya di pSendList. Jika Anda menentukan beberapa pengiriman suara, semuanya harus memiliki laju sampel yang sama input.

Anda tidak dapat membuat suara sumber atau submix apa pun hingga suara penguasaan ada, dan Anda tidak dapat menghancurkan suara master jika ada suara sumber atau submix yang masih ada.

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

XAudio2 menggunakan pengumpul memori internal untuk suara dengan format yang sama. Ini berarti bahwa alokasi memori untuk suara akan terjadi lebih jarang karena lebih banyak suara dibuat dan kemudian dihancurkan. Untuk meminimalkan alokasi just-in-time, judul dapat membuat jumlah suara maksimum yang diantisipasi yang diperlukan di depan, lalu menghapusnya seperlunya. Suara kemudian akan digunakan kembali dari kumpulan XAudio2. Kumpulan memori terkait dengan instans mesin XAudio2. Anda dapat mengklaim kembali semua memori yang digunakan oleh instans mesin XAudio2 dengan menghancurkan objek XAudio2 dan membuatnya kembali seperlunya (memaksa kumpulan memori tumbuh melalui pra-alokasi harus diterapkan kembali sesuai kebutuhan).

Tidak valid untuk memanggil CreateSubmixVoice dari dalam panggilan balik (yaitu, IXAudio2EngineCallback atau IXAudio2VoiceCallback). Jika Anda memanggil CreateSubmixVoice dalam panggilan balik, maka 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 CreateSubmixVoice berhasil diselesaikan, dan dapat dihapus segera setelah CreateSubmixVoice dipanggil.

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

IXAudio2

Konversi Laju Sampel XAudio2