Metode IAudioInputEndpointRT::GetInputDataPointer (audioengineendpoint.h)

Metode GetInputDataPointer mendapatkan penunjuk ke buffer tempat data akan dibaca oleh mesin audio.

Sintaks

void GetInputDataPointer(
  [in, out] APO_CONNECTION_PROPERTY *pConnectionProperty,
  [in, out] AE_CURRENT_POSITION     *pAeTimeStamp
);

Parameter

[in, out] pConnectionProperty

Penunjuk ke struktur APO_CONNECTION_PROPERTY .

Pemanggil mengatur nilai anggota sebagai berikut:

  • pBuffer diatur ke NULL.
  • u32ValidFrameCount berisi jumlah bingkai yang perlu berada di penunjuk data yang diambil. Objek titik akhir tidak boleh menyimpan informasi ini. Mesin audio dapat mengubah nomor ini tergantung pada kebutuhan pemrosesannya.
  • u32BufferFlags diatur ke BUFFER_INVALID.
Jika panggilan ini berhasil diselesaikan, titik akhir harus mengatur nilai anggota sebagai berikut:
  • pBuffer menunjuk ke memori yang valid di mana data telah dibaca. Ini dapat mencakup keheningan tergantung pada bendera yang ditetapkan di anggota u32BufferFlags .
  • u32ValidFrameCount tidak berubah.
  • u32BufferFlags diatur ke BUFFER_VALID jika penunjuk data berisi data yang valid atau untuk BUFFER_SILENT jika penunjuk data hanya berisi data senyap. Data dalam buffer sebenarnya tidak perlu diam, tetapi buffer yang ditentukan dalam pBuffer harus mampu menahan semua bingkai keheningan yang terkandung dalam u32ValidFrameCount agar sesuai dengan jumlah bingkai yang diperlukan.

[in, out] pAeTimeStamp

Penunjuk ke struktur AE_CURRENT_POSITION yang berisi stempel waktu data yang diambil dalam buffer. Parameter ini bersifat opsional.

Nilai kembali

Tidak ada

Keterangan

Metode ini mengembalikan penunjuk dari titik akhir ke buffer pConnectionProperty-pBuffer>, yang berisi data yang perlu diteruskan ke mesin sebagai input. Data dan penunjuk buffer harus tetap valid hingga metode IAudioInputEndpointRT::ReleaseInputDataPointer dipanggil. Objek titik akhir harus mengatur jumlah informasi yang diminta dan menyisipkan keheningan jika tidak ada data yang valid. Penunjuk buffer, pConnectionProperty-pBuffer>, yang dikembalikan oleh objek titik akhir harus diratakan bingkai. Titik akhir tidak mendukung ruang ekstra, yang mungkin tersedia di APO_CONNECTION_PROPERTY terkait dengan properti koneksi yang diteruskan dalam parameter pConnectionProperty .

Meneruskan nol di anggota u32ValidFrameCount adalah permintaan yang valid. Dalam hal ini, penunjuk input harus valid tetapi titik akhir tidak membacanya. Nilai pConnectionProperty-u32ValidFrameCount> harus kurang dari atau sama dengan jumlah bingkai maksimum yang didukung oleh titik akhir. Untuk mendapatkan jumlah bingkai yang didukung, panggil metode IAudioEndpoint::GetFramesPerPacket .

Metode ini dapat dipanggil dari utas pemrosesan real-time. Implementasi metode ini tidak boleh memblokir, mengakses memori halaman, atau memanggil rutinitas sistem pemblokiran apa pun.

API AudioEndpoint Layanan Desktop Jarak Jauh adalah untuk digunakan dalam skenario Desktop Jauh; ini bukan untuk aplikasi klien.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 7
Server minimum yang didukung Windows Server 2008 R2
Target Platform Windows
Header audioengineendpoint.h

Lihat juga

IAudioInputEndpointRT