밍이라구 2023. 12. 4. 19:08

*오디오

-멀티미디어를 동작시키는 MediaPlayer 클래스는 음악 및 동영상을 재생해주는 기능

- MediaPlayer의 play(), pause(), stop() 메소드는 각각 음악을 시작. 일시정지, 정지하는 기능을 함.

*MediaPlayer 데이터 지정 방법

- 웹의 URL로, 위치 지정 (*인터넷이 안될때는 이용에 제한이 생김

- res/raw 폴더에 복사한 후 위치 지정 (*앱의 크기가 커짐 

- SD카드에 복사한 후 위치 지정 -> 퍼미션 설정 확인

 

*MediaPlayer 

 

>>방법 1은 조금 간단한 방법임!

>>그림을 이해하기 쉬운 방법은 start 먼저 보는 것. 파란색 부분은 상태를 알려주는 것.

 

*간단한 음악 재생 예제

- [res > raw ] 폴더 생성 후 song1.mp3 파일을 복사해서 추가

<switch 

       android:id="@_id/whitch1"

       android:layout_width="wrap_content"

       android:layout_height"wrap_content"

       android:text="음악듣기" />

- 스위치를 켜면 음악이 시작되고 스위치를 끄면 음악이 정지됨

 

>>코드

 

*MP3 플레이어 만들기

- /sdcard 등 적당한 곳에 mp3 파일을 몇 개 넣음 (Upoload)

sdcard 폴더 또는 /storage/emulated/0 폴더에 Upload

androidManifest.xml 파일에 SD카드를 사용할 수 있도록 퍼미션 지정

 

 

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

*멀티스레드

-여러 작업을 동시에 수행하기 위해 사용하는 개념

-스레드는 프로세스 안에서 동작하는 작은 단위

 

>> 스레드를 사용한다하면 두가지 기억!!

메인 스레드의 UI를 건들면 안됨!

 

*스레드

-Handler = 스레드와 메시지를 주고받아 통신하기 위함

-sendMessage() => 메세지큐에 메시지를 넣음

-handleMessage() => 메시지를 처리함./처리를 위한 코드는 메인 스레드에서 수행함.

-obtainMessage() => 메시지 객체를 리턴 받아옴

-looper => 메시지큐의 메시지를 꺼내 handler  에게 전달

 

*Handler로 타이머 만들기

-sendEmptyMessage(int what) => 메시지 보내기

- sendEmptyMessageDelayed(int what, lomg delayMllis)

=> what 객체가 메시지에 설정되어 큐에 추가되고, 지연시간 이후 실행

-removeMessage(int what) => what 값이 설정된 메시지를 큐에서 제거함.

 

*스레드 응용

- androidManifest.xml 파일에 SD카드를 사용할 수 있도록 퍼미션 지정

 

*android Studio 에 Google Play Service 추가 (구글 맵)

- /app/build.gradle 파일 열고 다음 코드 추가

   dependencies{

       .......

       compile 'com.google.android.gms:play-services:6.1.+'

}

*androidManifest.xml 수정(package는 수정할 것)

*google API가 지원되게 만들어주기