[안드로이드스튜디오_문화][MediaPlayer]

기말 지하기포·2023년 10월 11일
0

#"MediaPlayer"란?

MediaPlayer 클래스는 오디오/비디오 파일 및 스트림의 재생을 제어할 수 있습니다. (공식문서)
MediaPlayer 클래스의 객체는 최소한의 설정으로 오디오와 동영상을 모두 가져오고 디코딩하며 재생할 수 있습니다. 다음과 같은 여러 미디어 소스를 지원합니다.
ㄱ. 로컬 리소스
ㄴ. 콘텐츠 리졸버에서 가져올 수 있는 것과 같은 내부 URI
ㄷ. 외부 URL(스트리밍)

#주의사항

MediaPlayer는 스레드로부터 안전하지 않습니다. 플레이어 인스턴스 생성 및 모든 액세스는 동일한 스레드에서 이루어져야 합니다. 콜백을 등록하는 경우 스레드에 Looper가 있어야 합니다. (공식문서)

#사용방법

  1. MediaPlayer 객체를 생성한다.
    [private var mediaPlayer : MediaPlayer? = null][import android.media.MediaPlayer]

  2. "외부 URL(스트리밍)을 사용하려면" AndroidManifest.xml 파일에 인터넷 권한을 허용해야 한다.
    [uses-permission android:name="android.permission.INTERNET"/]

  3. "로컬 리소스를 재생하려면" res 폴더 내부에 새로운 Android Resource Directory를 만들어준다. 설정은 아래와 같이 지정해준다.
    [Directory name : raw / Resource type : raw / Source set : main]

  4. 1번에서 생성한 MediaPlayer 객체를 구체화한다.
    mediaPlayer = MediaPlayer.create(baseContext , R.raw.음악파일 이름)
    [ㄱ.참고]

    baseContext Vs context
    baseContext : 현재 액티비티와 연결된 기본 컨텍스트 (일반적으로 개추)
    context : 현재 활성화된 컴포넌트(사용자가 현재 상호 작용하고 있는 컴포넌트를 의미)와 관련된
    컨텍스트(Context) : Android 앱 내에서의 "환경 정보와 리소스"에 접근하기 위한 객체를 의미한다. ["환경 정보와 리소스"] : 앱내의 리소스 , 시스템 서비스 , 앱 수명주기 관리 , 브로드캐스트 리시버 , 환경 설정 등등

    [ㄴ.참고]

    TODO("나중에 해보고 작성")

    [ㄷ.참고]

    TODO("나중에 해보고 작성")

    [ㄱ. , ㄴ. , ㄷ. 관련 공식문서]

    아래사진은 MediaPlayer를 정의한 단락에서 ㄱ , ㄴ , ㄷ 의 사용법이 정리되어 있는 안드로이드 공식문서이다.

  5. Activity 또는 fragment에서 playButton이랑 바인딩해서 사용하면된다.
    [아래의 참고코드를 참고해서 사용하면 될 듯 : apply가 짱이면 개추 ㅋ]

#공식문서 링크

https://developer.android.com/guide/topics/media/mediaplayer?hl=ko
https://developer.android.com/reference/kotlin/android/media/MediaPlayer

profile
포기하지 말기

0개의 댓글