HMS Video Kit Kullanarak Basit Sade Bir Video Oynatıcı Yapımı

Alihan98ersoy
Huawei Developers - Türkiye
3 min readDec 4, 2020

Herkese Merhabalar,

Bu yazımda size olabildiğince basit şekilde bir video kit’in kullanımı anlatmaya çalışacağım. Yapacağımız uygulama basitçe oynat ve durdur seçeneğinden oluşan internet bağlantısını kullanan bir video oynatıcı olacak. Eğer daha karmaşık bir örneğe ihtiyacınız varsa örnek uygulamayı ve codelab’i incelemeyi ihmal etmeyin.

Projemize Video Kit Entegrasyonu

Öncelikle App Gallery Connect üzerinde projemizi oluşturuyoruz ve HMS core’u uygulmamıza entegre ediyoruz. Daha detaylı Anlatım için linkleri aşağıda paylaşıyorum. Video kit entegrasyonu içinde Codelab’i kullanabilirsiniz.

Uygulama Geliştirme

Öncelikle içerisinde sadece bir buton ve butona tıklandığında video player’a oynatacağı linki gönderen bir MainActivity oluşturuyoruz. Eğer isterseniz github’a yüklediğiniz bir mp4 dosyasının raw halini de link olarak kullanabilirsiniz. Eğer video kaynağı olarak cihazın hafızasını kullanacaksanız izinleri almayı unutmayın! Benim örneğimde internetten oynattığım için ihtiyacım yok.

Sonrasında Video kit’in içerisindeki video player özelliği sunan wiseplayer nesnesini initialize edip kullanacağımız application classını extends eden bir class oluşturuyoruz. Bunun için bu class’ı manifest dosyasında tanımlamamız Gerekiyor.

Manifest dosyasının son hali

VideoKitPlayApplication class’ımızı manifestimizdeki application içinde tanımladık. Ve sonrasında videomuzu oynatacağımız playActivity’yi de tanımlıyoruz. Bu Activity’nin sadece yatay olmasını istiyorum ve “screen orientation” landscape olarak ayarladım.

Videomuzu oynatacağımız video_play.xml

SurfaceView: VideoKit in sağladığı video player paneli

Bütün olayın gerçekleştiği PlayActivity Class’ı.

Gördüğünüz üzere onCreate yerine onResume kullandım. Bunun sebebi uygulama onPause durumuna geçip tekrar başlayınca videonun siyah ekranda kalması. Detay için aşağıda yaşam döngüsü (Life cycle) grafiğini inceleyebilirsiniz.

Buttonları tanımladık.

Oynat, Durdur tuşlarıyla videoyu oynatmayı durdurmayı ayarladık bu esnada Buttonların görselinide değiştirdik.

Wiseplayer’ı application classımızdan çağırdık.

Wiseplayer’ı listenerları tanımladık. Wiseplayer interface’ini aşağıda bulabilirsiniz.

wiseplayer.setbook mark ile uygulama onPause durumunda geri dönünce kaldığı yerden oynatmasını sağladık.

“wiseplayer.setplayurl” ile videomuzun linkini, getstringextra ile Main Activityden gelen link ile tanımladık. ready ile videomuzu oynamaya hazırladık.

onPause durumuna geçince videoyu durdurduk ve kaldığı yeri kaydettik.

onReady videomuz hazır oldugunda çağrılan callback. Videomuz hazır olunca başlattık. Bu kısımda gelen wiseplayer’ı en tepede tanımladığımız wiseplayer nesnesine eşitledik ve onu çağırdık. Ve tekrar setview yaptık. Olası hataları engellemek için bunları gerçekleştirdik.

OnWisePlayerListener
Uygulamamızın son hali
Life Cycle

Son olarak onPause durumu diye bahsettiğim olay video oynarken açık uygulamalara bakıp uygulamaya geri dönme olayı. Ayrıca tanımlı olan geri dönme tuşu yerine telefonun geri dönme özelliği kullanıldığında video oynamaya devam ediyordu. Bu yüzden onPause methodu içerisinde wiseplayer’ımıza pause yapıyoruz.

Eğer sizde sadece basitçe bir video oynatma özelliğine ihtiyaç duyuyorsanız benim yazdığım bu yazının size faydalı olabileceğini düşünüyorum. Ama eğer ihtiyacınız olan daha karmaşık bir video oynatma özelliği ise örnek koda bakmanızı tavsiye ediyorum.

Kaynak:

--

--