Perangkat Titik Akhir Audio

Istilah perangkat titik akhir mengacu pada perangkat keras yang terletak di salah satu ujung jalur data yang berasal atau berakhir pada program aplikasi. Contoh perangkat titik akhir audio adalah speaker, headphone, mikrofon, dan pemutar CD. Data audio yang bergerak di sepanjang jalur data mungkin melintasi sejumlah komponen perangkat lunak dan perangkat keras selama perjalanannya antara aplikasi dan perangkat titik akhir. Meskipun komponen-komponen ini sangat penting untuk pengoperasian perangkat titik akhir, komponen ini cenderung tidak terlihat oleh pengguna. Pengguna lebih cenderung berpikir dalam hal perangkat titik akhir bahwa mereka langsung memanipulasi daripada dalam hal perangkat pada adaptor audio yang dicolokkan perangkat titik akhir ke atau dalam hal komponen perangkat lunak yang memproses aliran audio yang mengalir ke dan dari adaptor ini.

Untuk menghindari kebingungan dengan perangkat titik akhir, dokumentasi ini mengacu pada perangkat pada adaptor audio sebagai perangkat adaptor.

Diagram berikut menunjukkan bagaimana perangkat titik akhir audio berbeda dari perangkat adaptor.

examples of audio endpoint devices and adapter devices

Dalam diagram sebelumnya, berikut ini adalah contoh perangkat titik akhir:

  • Pembicara
  • Mikrofon
  • Perangkat input tambahan

Berikut ini adalah contoh perangkat adaptor:

  • Perangkat output gelombang (berisi konverter digital-ke-analog)
  • Perangkat kontrol output (berisi kontrol volume dan bisu)
  • Perangkat input gelombang (berisi konverter analog-ke-digital)
  • Perangkat kontrol input (berisi kontrol volume dan multiplexer)

Biasanya, antarmuka pengguna aplikasi audio merujuk ke perangkat titik akhir audio, bukan ke perangkat adaptor. Windows Vista menyederhanakan desain aplikasi yang mudah digunakan dengan langsung mendukung abstraksi perangkat titik akhir.

Beberapa perangkat titik akhir mungkin tersambung secara permanen ke perangkat adaptor. Misalnya, komputer mungkin berisi perangkat internal seperti pemutar CD, mikrofon, atau speaker yang diintegrasikan ke dalam sasis sistem. Biasanya, pengguna tidak menghapus perangkat titik akhir ini secara fisik.

Perangkat titik akhir lainnya mungkin tersambung ke adaptor audio melalui jack audio. Pengguna mencolokkan dan mencolokkan perangkat eksternal ini. Misalnya, perangkat titik akhir audio seperti mikrofon eksternal atau headphone terletak di salah satu ujung kabel yang ujungnya dicolokkan ke jack pada perangkat adaptor.

Adaptor berkomunikasi dengan prosesor sistem melalui bus sistem (biasanya, PCI atau PCI Express) atau bus eksternal (USB atau IEEE 1394) yang mendukung Plug and Play (PnP). Selama enumerasi perangkat, manajer Plug and Play mengidentifikasi perangkat dalam adaptor audio dan mendaftarkan perangkat tersebut untuk membuatnya tersedia untuk digunakan oleh sistem operasi dan oleh aplikasi.

Tidak seperti koneksi antara adaptor dan bus eksternal seperti USB atau bus IEEE 1394, koneksi antara perangkat titik akhir dan perangkat adaptor tidak mendukung deteksi perangkat PnP. Namun, beberapa adaptor audio mendukung deteksi kehadiran jack: ketika steker dimasukkan ke dalam atau dihapus dari jack, perangkat keras menghasilkan gangguan untuk memberi tahu driver adaptor tentang perubahan konfigurasi perangkat keras. Manajer titik akhir di Windows Vista dapat mengeksploitasi kemampuan perangkat keras ini untuk memberi tahu aplikasi perangkat titik akhir mana yang ada kapan saja. Dengan cara ini, pengoperasian manajer titik akhir dianalogikan dengan manajer Plug and Play, yang melacak perangkat adaptor yang ada dalam sistem.

Di Windows Vista, sistem audio melacak perangkat titik akhir dan perangkat adaptor. Manajer titik akhir mendaftarkan perangkat titik akhir dan manajer Plug and Play mendaftarkan perangkat adaptor. Mendaftarkan perangkat titik akhir memudahkan aplikasi yang mudah digunakan untuk memungkinkan pengguna merujuk ke perangkat titik akhir yang langsung dimanipulasi pengguna alih-alih merujuk ke perangkat adaptor yang mungkin tersembunyi di dalam sasis komputer. Perangkat titik akhir yang dilaporkan oleh sistem operasi dengan setia melacak perubahan dinamis dalam konfigurasi perangkat keras audio yang memiliki deteksi jack-presence. Meskipun perangkat titik akhir tetap dicolokkan, sistem menghitung perangkat tersebut. Ketika pengguna men-cabut perangkat titik akhir, sistem berhenti menghitungnya.

Di versi Windows sebelumnya, termasuk Windows 98, Windows Me, Windows 2000, dan Windows XP, sistem secara eksplisit hanya menyajikan perangkat PnP ke aplikasi. Dengan demikian, aplikasi harus menyimpulkan keberadaan perangkat titik akhir. Sistem operasi yang tidak memiliki dukungan eksplisit untuk perangkat titik akhir memaksa aplikasi klien untuk melakukan lebih banyak pekerjaan itu sendiri. Misalnya, aplikasi penangkapan audio harus melakukan langkah-langkah berikut untuk mengaktifkan pengambilan dari mikrofon eksternal:

  1. Menghitung semua perangkat pengambilan audio (ini adalah perangkat adaptor) yang sebelumnya didaftarkan oleh manajer PnP.
  2. Setelah memilih perangkat pengambilan, buka aliran pengambilan di perangkat dengan memanggil fungsi waveInOpen atau dengan menggunakan DirectSoundCapture atau DirectShow API.
  3. Panggil fungsi mixerOpen dan gunakan fungsi mixerXxx lainnya untuk mencari baris MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE yang sesuai dengan perangkat tangkapan yang dibuka di langkah 2. Ini adalah tebakan terdidik.
  4. Buka blokir jalur data dari mikrofon. Jika jalur data menyertakan simpul bisu, maka klien harus menonaktifkan bisukan sinyal dari mikrofon. Jika perangkat pengambilan berisi multiplexer untuk memilih dari beberapa input, maka klien harus memilih input mikrofon.

Proses ini rentan terhadap kesalahan karena perangkat lunak yang melakukan operasi ini mungkin gagal jika menemukan konfigurasi perangkat keras yang tidak diantisipasi oleh perancangnya atau yang tidak diuji.

Di Windows Vista, yang mendukung perangkat titik akhir, proses menyambungkan ke perangkat titik akhir yang sama jauh lebih sederhana:

  1. Pilih mikrofon dari kumpulan perangkat titik akhir.
  2. Aktifkan antarmuka pengambilan audio pada mikrofon tersebut.

Sistem operasi melakukan semua pekerjaan yang diperlukan untuk mengidentifikasi dan mengaktifkan perangkat titik akhir. Misalnya, jika jalur data dari mikrofon menyertakan multiplexer, sistem secara otomatis memilih input mikrofon ke multiplexer.

Perilaku subsistem audio lebih andal dan deterministik jika aplikasi, alih-alih menerapkan algoritma identifikasi titik akhir mereka sendiri, dapat mendelegasikan tugas mengidentifikasi perangkat titik akhir ke sistem operasi. Vendor perangkat lunak tidak perlu lagi memverifikasi bahwa algoritma identifikasi titik akhir mereka bekerja dengan benar dengan semua perangkat keras audio dan konfigurasi yang tersedia—mereka hanya dapat mengandalkan sistem operasi untuk identifikasi titik akhir. Demikian pula, vendor perangkat keras tidak perlu lagi memverifikasi bahwa setiap aplikasi klien yang relevan dapat dengan mudah mengidentifikasi perangkat titik akhir apa pun yang terhubung ke adaptor audio mereka—mereka hanya perlu memverifikasi bahwa sistem operasi dapat mengidentifikasi perangkat titik akhir yang terhubung ke adaptor audio mereka.

Topik berikut memberikan informasi tambahan tentang perangkat titik akhir audio:

Panduan Pemrograman