Background Audio Agent di Windows Phone

Ada jenis backkground agent yang lebih spesial dibandingkan dengan periodic agent yaitu audio agent, yang digunakan di aplikasi yang memanfaatkan audio untuk tetap menjalankan audio walaupun aplikasi telah ditutup. Tapi tetap saja setiap background agent memiliki kekurangan dan kelebihan, antara lain:

Audio Agent di Windows Phone

  • Agent ini tidak membutuhkan inisialisai class ScheduledActionService seperti periodic agent di aplikasi yang kita kembangkan.
  • Tidak memiilki batas waktu penggunaan. Agent ini akan berjalan tiap waktu ketika user berinteraksi dengan kontrol musik sampai bosan :D.
  • Tetap memiliki batasan penggunaan memory, tapi sedikit lebih banyak ketimbang periodic agent, yaitu sebanyak 20MB.

 

Berinteraksi dengan Audio

Class utama yang bekerja di background audio adalah BackgroundAudioPlayer, yang sudah diidentifikasi dan built-in di pemutar suara Windows Phone. Daftar audio diputar oleh background audio agent menggunakan class AudioTrack. Berikut contoh code pengimplementasiiannya :

 

Membuat Agent

Di dalam visual studio terdapat dua template audio agent, yaitu Windows Phone Audio Playback Agent dan Windows Phone Audio Streaming Agent.

Audio Agent

Sebenarnya keduanya hampir sama, yang membedakannya adalah Windows Phone Audio Streaming Agent  digunakan tidak hanya oleh pemutar musik yang ada di local storage hp (native), tapi juga support untuk format musik yang lainnya.

Background Audio Agent telah memiliki class AudioAgent di dalamnya, yang diwarisi oleh class AudioPlayerAgent. Sama halnya dengan periodic agent, nantinya class yang disebutkan sebelumnya akan otomatis mengimplementasikan beberapa method yang digunakan untuk berinteraksi dengan agent. Salah satu methodnya adalah OnUserAction() dan OnPlayStateChanged().

OnUserAction() akan dipicu setiap kali user secara manual berinteraksi dengan music, seperti nge-pause lagu, skip lagu, dan lain-lain.

Parameter yang dibutuhkan untuk method tersebut adalah :

  • Object BackgroundAudioPlayer, yang merupakan referensi dari background audio player.
  • Object AudioTrack, yang merupakan referensi dari track lagu yang di putar sebelumnya.
  • Object UserAction, merupakan aksi yang dilakukan oleh user secara manual.

Berikut contoh pengimplementasian method OnUserAction() :

Dengan penggunaan statement switch, kita akan memonitor setiap interaksi yang dilakukan oleh user, yang dikirimkan ke object UserAction. Kemudian, kita akan meresponnya mengginakan method yang ada di class BackgroundAudioPlayer. Play dan Pause adalah status untuk mengaturnya, SkipNext dan SkipPrevious memerlukan logika tambahan untuk implementasinya. Selain itu, background audio agent juga membutuhkan method NotifyComplete() ketika eksekusi telah berhasil dari operasi yang telah dilakukan.

Iklan

Good People write good comments ..

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s