일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- PagingLib
- MediaPlayer
- MediaSession
- mysql
- Android
- liveData
- 테스트 자동화
- Reactive
- Kotlin
- Observable
- google play
- Animation
- junit
- mvvm
- RxKotlin
- node.js
- MotionLayout
- list
- GCP
- android13
- rx
- paging
- SWIFTUI
- 인앱결제
- 동영상
- Koin
- databinding
- node
- Android 13
- SwiftUI Tutorial
- Today
- Total
목록MediaPlayer (6)
봄날은 갔다. 이제 그 정신으로 공부하자
이번 글에서는 오디오 출력을 제어하는 방식에 대해 설명합니다. * 참고 사이트: https://developer.android.com/guide/topics/media-apps/audio-focus 두 개 이상의 Android 앱이 동일한 출력 스트림으로 동시에 오디오를 재생할 수 있습니다. 이때 시스템은 오디오를 혼합하여 출력합니다. 동시에 오디오가 혼합되어 출력되는 것은 사용자에게 좋지 않으므로 동시에 모든 음악 앱이 재생되지 않도록 Android는 오디오 포커스라는 아이디어를 도입하여 한 번에 하나의 앱만 오디오 포커스를 유지할 수 있도록 하였습니다. 앱이 오디오를 출력해야 하는 경우 오디오 포커스를 요청해야 합니다. 포커스가 있는 앱은 사운드를 재생할 수 있습니다. 그러나 오디오 포커스를 획득한 ..
이번 글에서는 오디오 출력을 변경하는 방법에 대해 설명합니다. * 참고 사이트: https://developer.android.com/guide/topics/media-apps/volume-and-earphones 오디오 앱은 기본적으로 볼륨을 제어할 수 있어야 합니다. 표준 동작에는 볼륨 컨트롤(기기의 버튼이나 손잡이 또는 UI의 슬라이더)을 사용하는 기능 및 헤드폰 등 주변 기기의 연결을 하제할 때 갑자기 콘소리가 나지 않게 하는 기능이 있습니다. 볼륨 컨트롤 사용 오디오 사이에 플레이어가 일시 중지되거나 현재 게임 위치에 사용되는 음악이 없는 경우에도 사용자가 게임이나 음악 앱의 볼륨 키를 누르면 볼륨이 변경됩니다. Android는 음악, 경보, 알림, 수신 전화 벨소리 장치, 시스템 DTMF 소리..
이번 글에서는 미디어 버튼의 응답을 처리하는 방법에 대해 설명합니다. * 참고 사이트: https://developer.android.com/guide/topics/media-apps/mediabuttons Media Buttons은 블루투스 헤드셋의 일시중지/재생 버튼 등 Android 기기 및 기타 주변기기에서 볼 수 있는 하드웨어 버튼입니다. 사용자가 미디어 버튼을 누르면 Android는 KeyEvent를 생성하는데, 여기에는 버튼을 식별하는 키코드가 포함되어 있습니다. 미디어 버튼 KeyEvents의 키코드는 KEYCODE_MEDIA로 시작하는 상수입니다.(예: KEYCODE_MEDIA_PLAY) 앱은 아래와 같은 세가지 경우의 우선 순위에 따라 미디어 버튼 이벤트를 처리할 수 있어야 합니다. 앱..
이번 글에서는 동영상앱을 만드는데 꼭 필요한 구성요소인 MediaController와 MediaSession에 대해 설명합니다. * 참고 사이트: https://developer.android.com/guide/topics/media-apps/video-app/building-a-video-app 일반 동영상 플레이어는 실행되는 동안 항상 컨트롤과 동영상 콘텐츠를 표시해야 합니다. 백그라운드 or UI없이는 작동할 수 없습니다. 따라서 UI, Player, MediaSession, MediaController가 포함된 단일 활동으로 앱을 빌드하는 것이 좋습니다. 동영상 플레이어 Activity 빌드 MediaSession과 MediaController가 포함된 Activity를 빌드하는 방법에 대해 설명..
미디어 세션은 관리하는 플레이어와 함께 움직입니다. 미디어 세션 및 관련 플레이어를 소유한 활동 또는 서비스의 onCreate() 메서드에서 미디어 세션을 만들고 초기화해야 합니다. * 참고 미디어 앱을 개발하는 가장 좋은 방법은 media-compat 라이브러리를 사용하는 것 입니다. 이 글에서 언급되는 “미디어 세션”은 MediaSessionCompat의 인스턴스를 의미하고 “미디어 컨트롤러”는 MediaCOntrollerCompat의 인스턴스를 의미합니다. * 참고 사이트: https://developer.android.com/guide/topics/media-apps/working-with-a-media-session 미디어 세션 초기화 새로 만든 미디어 세션에는 기능이 없으므로 아래 단계에 따라..
이 글을 미디어 플레이어 앱을 미디어 컨트롤러와 미디어 세션으로 구분하는 방법을 설명합니다. 또한 미디어 앱 아키텍쳐에 적합한 클라이언트/서버 디자인 및 동영상 플레이어용 단일 활동 디자인에 관해 설명합니다. 미디어 앱이 하드웨어 컨트롤러에 응답하고 오디오 출력 스트림을 사용하는 다름 앱과 협업하는 방법도 보여줍니다. 참고 사이트: https://developer.android.com/guide/topics/media-apps/media-apps-overview Player & UI 일반적으로 오디오 또는 동영상을 재생하는 멀티미디어 어플리케이션은 아래와 같이 두 부분으로 구성됩니다. Player: 디지털 미디어를 가져와서 동영상 및 오디오로 렌더링하는 부분 UI: Player를 실행하고 선택적으로 Pl..