Bagikan melalui


fungsi acmStreamConvert (msacm.h)

Fungsi acmStreamConvert meminta ACM untuk melakukan konversi pada aliran konversi yang ditentukan. Konversi mungkin sinkron atau asinkron, tergantung pada bagaimana aliran dibuka.

Sintaks

MMRESULT ACMAPI acmStreamConvert(
  HACMSTREAM        has,
  LPACMSTREAMHEADER pash,
  DWORD             fdwConvert
);

Parameter

has

Tangani ke aliran konversi terbuka.

pash

Penunjuk ke header stream yang menjelaskan buffer sumber dan tujuan untuk konversi. Header ini harus telah disiapkan sebelumnya dengan menggunakan fungsi acmStreamPrepareHeader .

fdwConvert

Bendera untuk melakukan konversi. Nilai berikut ditentukan.

Nilai Makna
ACM_STREAMCONVERTF_BLOCKALIGN Hanya jumlah blok integral yang akan dikonversi. Data yang dikonversi akan berakhir pada batas yang diratakan blok. Aplikasi harus menggunakan bendera ini untuk semua konversi pada aliran sampai tidak ada cukup data sumber untuk dikonversi ke tujuan yang selaras dengan blok. Dalam hal ini, konversi terakhir harus ditentukan tanpa bendera ini.
ACM_STREAMCONVERTF_END Aliran konversi ACM harus mulai mengembalikan data instans yang tertunda. Misalnya, jika aliran konversi menyimpan data instans, seperti akhir operasi filter gema, bendera ini akan menyebabkan aliran mulai mengembalikan data yang tersisa ini dengan data sumber opsional. Bendera ini dapat ditentukan dengan bendera ACM_STREAMCONVERTF_START.
ACM_STREAMCONVERTF_START Aliran konversi ACM harus menginisialisasi ulang data instansnya. Misalnya, jika aliran konversi menyimpan data instans, seperti delta atau informasi prediktor, bendera ini akan memulihkan aliran untuk memulai default. Bendera ini dapat ditentukan dengan bendera ACM_STREAMCONVERTF_END.

Menampilkan nilai

Mengembalikan nol jika berhasil atau kesalahan sebaliknya. Nilai kesalahan yang mungkin termasuk yang berikut ini.

Menampilkan kode Deskripsi
ACMERR_BUSY
Header stream yang ditentukan dalam pash saat ini sedang digunakan dan tidak dapat digunakan kembali.
ACMERR_UNPREPARED
Header stream yang ditentukan dalam pash saat ini tidak disiapkan oleh fungsi acmStreamPrepareHeader .
MMSYSERR_INVALFLAG
Setidaknya satu bendera tidak valid.
MMSYSERR_INVALHANDLE
Handel yang ditentukan tidak valid.
MMSYSERR_INVALPARAM
Setidaknya satu parameter tidak valid.

Keterangan

Anda harus menggunakan fungsi acmStreamPrepareHeader untuk menyiapkan buffer sumber dan tujuan sebelum diteruskan ke acmStreamConvert.

Jika permintaan konversi asinkron berhasil diantrekan oleh ACM atau driver dan konversi kemudian ditentukan tidak mungkin, struktur ACMSTREAMHEADER diposting kembali ke fungsi panggilan balik aplikasi dengan anggota cbDstLengthUsed diatur ke nol.

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header msacm.h
Pustaka Msacm32.lib
DLL Msacm32.dll

Lihat juga

Fungsi Pemadatan Audio

Pengelola Pemadatan Audio