fungsi lineSetMediaControl (tapi.h)

Fungsi lineSetMediaControl mengaktifkan dan menonaktifkan tindakan kontrol pada aliran media yang terkait dengan baris, alamat, atau panggilan yang ditentukan. Tindakan kontrol media dapat dipicu oleh deteksi digit, jenis media, nada kustom, dan status panggilan tertentu.

Sintaks

LONG lineSetMediaControl(
  HLINE                             hLine,
  DWORD                             dwAddressID,
  HCALL                             hCall,
  DWORD                             dwSelect,
  LPLINEMEDIACONTROLDIGIT const     lpDigitList,
  DWORD                             dwDigitNumEntries,
  LPLINEMEDIACONTROLMEDIA const     lpMediaList,
  DWORD                             dwMediaNumEntries,
  LPLINEMEDIACONTROLTONE const      lpToneList,
  DWORD                             dwToneNumEntries,
  LPLINEMEDIACONTROLCALLSTATE const lpCallStateList,
  DWORD                             dwCallStateNumEntries
);

Parameter

hLine

Menangani ke perangkat baris terbuka.

dwAddressID

Pengidentifikasi alamat pada perangkat baris terbuka yang diberikan. Pengidentifikasi alamat secara permanen dikaitkan dengan alamat; pengidentifikasi tetap konstan di seluruh peningkatan sistem operasi.

hCall

Menangani panggilan. Aplikasi harus menjadi pemilik panggilan. Status panggilan hCall dapat menjadi status apa pun.

dwSelect

Apakah kontrol media yang diminta dikaitkan dengan satu panggilan, adalah default untuk semua panggilan pada alamat, atau merupakan default untuk semua panggilan pada satu baris. Parameter ini satu dan hanya satu dari konstanta LINECALLSELECT_.

lpDigitList

Penunjuk ke array yang berisi digit yang akan memicu tindakan kontrol media, dari jenis LINEMEDIACONTROLDIGIT. Setiap kali digit dalam daftar digit terdeteksi, tindakan kontrol media yang ditentukan dilakukan pada aliran media panggilan.

Digit yang valid untuk mode pulsa adalah '0' hingga '9'. Digit yang valid untuk mode DTMF adalah '0' hingga '9', 'A', 'B', 'C', 'D', '*', '#'.

dwDigitNumEntries

Jumlah entri dalam lpDigitList.

lpMediaList

Penunjuk ke array dengan entri jenis LINEMEDIACONTROLMEDIA. Array memiliki entri dwMediaNumEntries . Setiap entri berisi jenis media yang akan dipantau, informasi spesifik jenis media (seperti durasi), dan bidang kontrol media. Jika jenis media dalam daftar terdeteksi, tindakan kontrol media yang sesuai dilakukan pada aliran media panggilan.

dwMediaNumEntries

Jumlah entri dalam lpMediaList.

lpToneList

Penunjuk ke array dengan entri jenis LINEMEDIACONTROLTONE. Array memiliki entri dwToneNumEntries . Setiap entri berisi deskripsi nada yang akan dipantau, durasi nada, dan bidang kontrol media. Jika nada dalam daftar terdeteksi, tindakan kontrol media yang sesuai dilakukan pada aliran media panggilan.

dwToneNumEntries

Jumlah entri dalam lpToneList.

lpCallStateList

Penunjuk ke array dengan entri jenis LINEMEDIACONTROLCALLSTATE. Array memiliki entri dwCallStateNumEntries . Setiap entri berisi status panggilan dan tindakan kontrol media. Setiap kali panggilan yang diberikan beralih ke salah satu status panggilan dalam daftar, tindakan kontrol media yang sesuai dipanggil.

dwCallStateNumEntries

Jumlah entri dalam lpCallStateList.

Mengembalikan nilai

Mengembalikan nol jika permintaan berhasil atau angka kesalahan negatif jika terjadi kesalahan. Nilai yang mungkin dikembalikan adalah:

LINEERR_INVALADDRESSID, LINEERR_NOMEM, LINEERR_INVALCALLHANDLE, LINEERR_NOTOWNER, LINEERR_INVALCALLSELECT, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSTATELIST, LINEERR_OPERATIONFAILED, LINEERR_INVALDIGITLIST, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALLINEHANDLE, LINEERR_UNINITIALIZED, LINEERR_INVALMEDIALIST, LINEERR_INVALPOINTER, LINEERR_INVALTONELIST.

Keterangan

Fungsi lineSetMediaControl dianggap berhasil jika kontrol media telah dimulai dengan benar, bukan ketika kontrol media apa pun telah berlaku. Kontrol media yang sedang berlangsung diubah atau dibatalkan dengan memanggil fungsi ini lagi dengan parameter yang berbeda atau NULLs. Jika satu atau beberapa parameter lpDigitList, lpMediaList, lpToneList, dan lpCallStateListadalah NULL, maka digit yang sesuai, jenis media, nada, atau kontrol media yang dipicu status panggilan dinonaktifkan. Untuk memodifikasi hanya sebagian parameter kontrol media sambil membiarkan pengaturan yang tersisa berlaku, aplikasi harus memanggil lineSetMediaControl, menyediakan parameter sebelumnya untuk bagian-bagian yang harus tetap berlaku dan parameter baru untuk bagian-bagian yang akan dimodifikasi.

Jika hCall dipilih dan panggilan berakhir atau aplikasi membatalkan alokasi handelnya, kontrol media pada panggilan tersebut dibatalkan.

Semua aplikasi yang merupakan pemilik panggilan pada prinsipnya diizinkan untuk membuat permintaan kontrol media pada panggilan. Hanya satu permintaan kontrol media yang dapat keluar pada panggilan di semua aplikasi yang memiliki panggilan. Setiap kali lineSetMediaControl dipanggil, permintaan baru mengambil alih kontrol media apa pun yang kemudian berlaku pada panggilan, baik yang diatur oleh aplikasi panggilan atau aplikasi pemilik lainnya.

Bergantung pada penyedia layanan dan aktivitas lain yang bersaing untuk sumber daya tersebut, jumlah deteksi simultan yang dapat dilakukan dapat bervariasi dari waktu ke waktu. Jika sumber daya penyedia layanan selesai, kesalahan LINEERR_RESOURCEUNAVAIL dikembalikan.

Apakah kontrol media didukung oleh penyedia layanan adalah kemampuan perangkat atau tidak.

Persyaratan

Persyaratan Nilai
Target Platform Windows
Header tapi.h
Pustaka Tapi32.lib
DLL Tapi32.dll

Lihat juga

LINEMEDIACONTROLCALLSTATE

LINEMEDIACONTROLDIGIT

LINEMEDIACONTROLMEDIA

LINEMEDIACONTROLTONE

Fungsi Layanan Garis Tambahan

Gambaran Umum Referensi TAPI 2.2