SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
Best Practices in Media
Playback
Hassan ABID
@hassanabidpk +HassanAbid hassanabid.com
Agenda
Media playback APIs
ExoPlayer
Goal
When to use the
right APIs
to build the best audio or video
playback app possible
Important Events in Media Playback
Media Playback and Android Life Cycle
Media playback the right way
Playing Media
Right Way
Action Becoming
Noisy
MediaSession
Audio
Focus
Notifications
Local
Always
Audio Focus
Ensure apps don’t talk over one another
Hold audio focus until we’ve stopped
playback
Audio Focus (Code)
Permission 승인
onStop
Audio Focus (AudioFocusChangeListener)
ACTION_AUDIO_BECOMING_NOISY
PAUSE
Life cycle of media playback
MediaSession
or MediaSessionCompat (Video)
MediaSessionCompat
Role of Callback class
onPlay(),onPause(), etc,
Serves as a single point in your app for all
media control callbacks
MediaSessionCompat
PlaybackStateCompat
MediaMetadataCompat
Media Notifications (NotificationCompat.MediaStyle)
MediaControllerCompat
&
MediaBrowserCompat
Minimum Viable Product
UAMP App
ExoPlayer
TERMS
DASH : Dynamic Adaptive Streaming over HTTP
HLS : Http Live Streaming
DRM : Digital Rights Management
MPD : Media Presentation
ABR : Adaptive Bitrate Streaming
What is ExoPlayer
The ExoPlayer provides many sophisticated features
such as Dynamic adaptive streaming over HTTP
(DASH), SmoothStreaming and Common Encryption.
It's designed
to be easy to customize and extend, and many
components can be replaced with custom
implementations. Because ExoPlayer is a library that
you include in your application, it can be easily
updated along with your app.
Pros
Supports DASH,HLS, Smooth-Streaming …
DRM protected content
Customizable
Easily Updatable
Few device specific issues
Adaptive Media Playback (DASH,HLS etc.)
DASH object Model
Sample Code
Talks to follow
Streaming Media with ExoPlayer
High Performance Audio
Best Practices in Media playback
Thank You!

Más contenido relacionado

La actualidad más candente

Launch of the Week: Android Oreo
Launch of the Week: Android OreoLaunch of the Week: Android Oreo
Launch of the Week: Android Oreo
Heidi Auvenshine
 

La actualidad más candente (13)

Android Oreo - An Introduction
Android Oreo - An Introduction Android Oreo - An Introduction
Android Oreo - An Introduction
 
Android Oreo 8.0
Android Oreo 8.0Android Oreo 8.0
Android Oreo 8.0
 
Soham mondal ui secrets droidconin 2011
Soham mondal ui secrets droidconin 2011Soham mondal ui secrets droidconin 2011
Soham mondal ui secrets droidconin 2011
 
Android OS - The Journey of most popular Operating System
Android OS - The Journey of most popular Operating SystemAndroid OS - The Journey of most popular Operating System
Android OS - The Journey of most popular Operating System
 
Launch of the Week: Android Oreo
Launch of the Week: Android OreoLaunch of the Week: Android Oreo
Launch of the Week: Android Oreo
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application Development
 
Android application développement
Android application développementAndroid application développement
Android application développement
 
Enlarge your screen: introducing the Google TV
Enlarge your screen: introducing the Google TVEnlarge your screen: introducing the Google TV
Enlarge your screen: introducing the Google TV
 
Recap of the google io 2017
Recap of the google io 2017Recap of the google io 2017
Recap of the google io 2017
 
Key concepts of android app development
Key concepts of android app developmentKey concepts of android app development
Key concepts of android app development
 
Top Cross-Platform App Development Frameworks for 2020
Top Cross-Platform App Development Frameworks for 2020Top Cross-Platform App Development Frameworks for 2020
Top Cross-Platform App Development Frameworks for 2020
 
Flutter UI Framework
Flutter UI FrameworkFlutter UI Framework
Flutter UI Framework
 
Migeran Tech Talk at Prezi HQ
Migeran Tech Talk at Prezi HQMigeran Tech Talk at Prezi HQ
Migeran Tech Talk at Prezi HQ
 

Destacado

Java Micro Edition Platform & Android - Seminar on Small and Mobile Devices
Java Micro Edition Platform & Android - Seminar on Small and Mobile DevicesJava Micro Edition Platform & Android - Seminar on Small and Mobile Devices
Java Micro Edition Platform & Android - Seminar on Small and Mobile Devices
juricde
 

Destacado (20)

접근성(Accessibility)과 안드로이드
접근성(Accessibility)과 안드로이드접근성(Accessibility)과 안드로이드
접근성(Accessibility)과 안드로이드
 
마세라티의 비밀
마세라티의 비밀마세라티의 비밀
마세라티의 비밀
 
Android Studio 2.2 - What's new in Android development tools
Android Studio 2.2 - What's new in Android development toolsAndroid Studio 2.2 - What's new in Android development tools
Android Studio 2.2 - What's new in Android development tools
 
같은 유저수, 다른 수익? 모바일 앱의 수익을 높이는 방법
같은 유저수, 다른 수익? 모바일 앱의 수익을 높이는 방법같은 유저수, 다른 수익? 모바일 앱의 수익을 높이는 방법
같은 유저수, 다른 수익? 모바일 앱의 수익을 높이는 방법
 
디자이너 없어도 괜찮아! (feat.Material Design Guide)
디자이너 없어도 괜찮아! (feat.Material Design Guide)디자이너 없어도 괜찮아! (feat.Material Design Guide)
디자이너 없어도 괜찮아! (feat.Material Design Guide)
 
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지
 
FIrebase를 이용한 호우호우 미니게임 만들기
FIrebase를 이용한 호우호우 미니게임 만들기FIrebase를 이용한 호우호우 미니게임 만들기
FIrebase를 이용한 호우호우 미니게임 만들기
 
Reinfocement learning
Reinfocement learningReinfocement learning
Reinfocement learning
 
안드로이드 데이터 바인딩
안드로이드 데이터 바인딩안드로이드 데이터 바인딩
안드로이드 데이터 바인딩
 
Building Extraordinary Apps with Firebase Analytics
Building Extraordinary Apps with Firebase AnalyticsBuilding Extraordinary Apps with Firebase Analytics
Building Extraordinary Apps with Firebase Analytics
 
Video service
Video serviceVideo service
Video service
 
IT talk #18 Odessa: Alexey Rybakov "Android TV"
IT talk #18 Odessa: Alexey Rybakov "Android TV"IT talk #18 Odessa: Alexey Rybakov "Android TV"
IT talk #18 Odessa: Alexey Rybakov "Android TV"
 
Android tv get started
Android tv get startedAndroid tv get started
Android tv get started
 
What is next for the web
What is next for the webWhat is next for the web
What is next for the web
 
RetroFit by Square - GDG Dallas 06/09/16
RetroFit by Square - GDG Dallas 06/09/16RetroFit by Square - GDG Dallas 06/09/16
RetroFit by Square - GDG Dallas 06/09/16
 
GKAC 2015 Apr. - Xamarin forms, mvvm and testing
GKAC 2015 Apr. - Xamarin forms, mvvm and testingGKAC 2015 Apr. - Xamarin forms, mvvm and testing
GKAC 2015 Apr. - Xamarin forms, mvvm and testing
 
GKAC 2015 Apr. - Android Looper
GKAC 2015 Apr. - Android LooperGKAC 2015 Apr. - Android Looper
GKAC 2015 Apr. - Android Looper
 
Java Micro Edition Platform & Android - Seminar on Small and Mobile Devices
Java Micro Edition Platform & Android - Seminar on Small and Mobile DevicesJava Micro Edition Platform & Android - Seminar on Small and Mobile Devices
Java Micro Edition Platform & Android - Seminar on Small and Mobile Devices
 
Intro to Android : Making your first App!
Intro to Android : Making your first App!Intro to Android : Making your first App!
Intro to Android : Making your first App!
 
Async task, threads, pools, and executors oh my!
Async task, threads, pools, and executors oh my!Async task, threads, pools, and executors oh my!
Async task, threads, pools, and executors oh my!
 

Similar a Best Practices in Media Playback

Adobe premiere pro cs6
Adobe premiere pro cs6Adobe premiere pro cs6
Adobe premiere pro cs6
K-M1
 
Standardize Your Flash with Adobe OSMF (0.9)
Standardize Your Flash with Adobe OSMF (0.9)Standardize Your Flash with Adobe OSMF (0.9)
Standardize Your Flash with Adobe OSMF (0.9)
rblank9
 
Software (fundamentals)
Software (fundamentals)Software (fundamentals)
Software (fundamentals)
JDoughty1
 
Audio ResourcesChoose one of them or any other of your c.docx
Audio ResourcesChoose one of them or any other of your c.docxAudio ResourcesChoose one of them or any other of your c.docx
Audio ResourcesChoose one of them or any other of your c.docx
ikirkton
 
Dailymotion API - Week-End Open e-Education 2013
Dailymotion API - Week-End Open e-Education 2013Dailymotion API - Week-End Open e-Education 2013
Dailymotion API - Week-End Open e-Education 2013
samir
 
Chapter 7 Multimedia
Chapter 7 MultimediaChapter 7 Multimedia
Chapter 7 Multimedia
Patty Ramsey
 

Similar a Best Practices in Media Playback (20)

J2me
J2meJ2me
J2me
 
Adobe premiere pro cs6
Adobe premiere pro cs6Adobe premiere pro cs6
Adobe premiere pro cs6
 
Standardize Your Flash with Adobe OSMF (0.9)
Standardize Your Flash with Adobe OSMF (0.9)Standardize Your Flash with Adobe OSMF (0.9)
Standardize Your Flash with Adobe OSMF (0.9)
 
KKBOX WWDC17 Airplay 2 - Dolphin
KKBOX WWDC17 Airplay 2 - DolphinKKBOX WWDC17 Airplay 2 - Dolphin
KKBOX WWDC17 Airplay 2 - Dolphin
 
Software (fundamentals)
Software (fundamentals)Software (fundamentals)
Software (fundamentals)
 
Be live tata motors
Be live   tata motorsBe live   tata motors
Be live tata motors
 
The sounds of Android (Android Makers 2018)
The sounds of Android (Android Makers 2018)The sounds of Android (Android Makers 2018)
The sounds of Android (Android Makers 2018)
 
Android RTMP client library
Android RTMP client libraryAndroid RTMP client library
Android RTMP client library
 
Get On The Audiobus (CocoaConf Atlanta, November 2013)
Get On The Audiobus (CocoaConf Atlanta, November 2013)Get On The Audiobus (CocoaConf Atlanta, November 2013)
Get On The Audiobus (CocoaConf Atlanta, November 2013)
 
Get On The Audiobus (CocoaConf Boston, October 2013)
Get On The Audiobus (CocoaConf Boston, October 2013)Get On The Audiobus (CocoaConf Boston, October 2013)
Get On The Audiobus (CocoaConf Boston, October 2013)
 
video
videovideo
video
 
Effective HTML5 game audio
Effective HTML5 game audioEffective HTML5 game audio
Effective HTML5 game audio
 
Audio ResourcesChoose one of them or any other of your c.docx
Audio ResourcesChoose one of them or any other of your c.docxAudio ResourcesChoose one of them or any other of your c.docx
Audio ResourcesChoose one of them or any other of your c.docx
 
Android media-chapter 23
Android media-chapter 23Android media-chapter 23
Android media-chapter 23
 
GStreamer in OpenOffice.org
GStreamer in OpenOffice.orgGStreamer in OpenOffice.org
GStreamer in OpenOffice.org
 
Dailymotion API - Week-End Open e-Education 2013
Dailymotion API - Week-End Open e-Education 2013Dailymotion API - Week-End Open e-Education 2013
Dailymotion API - Week-End Open e-Education 2013
 
Video editing presentation
Video editing presentationVideo editing presentation
Video editing presentation
 
Chapter 7 Multimedia
Chapter 7 MultimediaChapter 7 Multimedia
Chapter 7 Multimedia
 
Broadcast Power MyFM Training
Broadcast Power MyFM TrainingBroadcast Power MyFM Training
Broadcast Power MyFM Training
 
Podcasting in Education
Podcasting in EducationPodcasting in Education
Podcasting in Education
 

Más de GDG Korea

Más de GDG Korea (9)

Tensorflow 101
Tensorflow 101Tensorflow 101
Tensorflow 101
 
GKAC 2015 Apr. - RxAndroid
GKAC 2015 Apr. - RxAndroidGKAC 2015 Apr. - RxAndroid
GKAC 2015 Apr. - RxAndroid
 
GKAC 2015 Apr. - Battery, 안드로이드를 위한 쉬운 웹 API 호출
GKAC 2015 Apr. - Battery, 안드로이드를 위한 쉬운 웹 API 호출GKAC 2015 Apr. - Battery, 안드로이드를 위한 쉬운 웹 API 호출
GKAC 2015 Apr. - Battery, 안드로이드를 위한 쉬운 웹 API 호출
 
GKAC 2014 Nov. - RxJava를 활용한 Functional Reactive Programming
GKAC 2014 Nov. - RxJava를 활용한 Functional Reactive ProgrammingGKAC 2014 Nov. - RxJava를 활용한 Functional Reactive Programming
GKAC 2014 Nov. - RxJava를 활용한 Functional Reactive Programming
 
GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?
GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?
GKAC 2014 Nov. - Android Wear 개발, 할까요 말까요?
 
GKAC 2014 Nov. - 안드로이드 스튜디오로 생산성 올리기
GKAC 2014 Nov. - 안드로이드 스튜디오로 생산성 올리기GKAC 2014 Nov. - 안드로이드 스튜디오로 생산성 올리기
GKAC 2014 Nov. - 안드로이드 스튜디오로 생산성 올리기
 
GKAC 2014 Nov. - 그루비로 안드로이드 앱 개발하기
GKAC 2014 Nov. - 그루비로 안드로이드 앱 개발하기GKAC 2014 Nov. - 그루비로 안드로이드 앱 개발하기
GKAC 2014 Nov. - 그루비로 안드로이드 앱 개발하기
 
GKAC 2014 Nov. - The Beautiful Design Collection 살펴보기
GKAC 2014 Nov. - The Beautiful Design Collection 살펴보기GKAC 2014 Nov. - The Beautiful Design Collection 살펴보기
GKAC 2014 Nov. - The Beautiful Design Collection 살펴보기
 
GKAC 2014 Nov. - 안드로이드 5.0의 새로운 기능
GKAC 2014 Nov. - 안드로이드 5.0의 새로운 기능GKAC 2014 Nov. - 안드로이드 5.0의 새로운 기능
GKAC 2014 Nov. - 안드로이드 5.0의 새로운 기능
 

Último

Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
HenryBriggs2
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
pritamlangde
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 

Último (20)

S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 

Best Practices in Media Playback