ȸ¿ø°¡ÀԡžÆÀ̵ð/ºñ¹øã±â
ȨÀ¸·Î

MediaPlayer Ŭ·¡½º »ç¿ë¹ý
7³â Àü
1.  ·¹À̾ƿô  ¼³Á¤  (activity_main.xml)

  °£´ÜÇÏ°Ô  Àç»ý,  ÁßÁö,  ÀϽÃÁßÁöÀÇ  3°¡Áö  ¹öÆ°À»  »ðÀÔÇÕ´Ï´Ù.


2.  ·¹À̾ƿô¿¡  µû¸¥  Java  Å¬·¡½º  ÀÛ¼º  (MainActivity.java)

  3°³ÀÇ  ¹öÆ°À»  Java  Å¬·¡½ºÀÇ  Button  Çü  ÀνºÅϽº¿¡  ¿¬°áÇÏ°í  Å¬¸¯ÇÒ  ¶§  °ðÀ̾Á¤ÀÇ  ÇÒ  updateActivity  ÇÔ¼ö°¡  È£ÃâµÇµµ·Ï  ÇÕ´Ï´Ù.

  Java  Å¬·¡½º¿¡´Â  Àç»ý  »óÅ¿͠ °ü·ÃµÈ  4°¡Áö  »ó¼ö¸¦  Á¤ÀÇÇÏ°í  ÀÖ½À´Ï´Ù.

PLAYER_INIT:  ¾ÛÀÌ  ½ÇÇàµÇ°í  Àç»ý  °ü·Ã  ÇÔ¼ö¿¡¼­´Â  ¾ÆÁ÷  ¾Æ¹«°Íµµ  ¼öÇàÇÏÁö  ¾ÊÀº  »óÅÂÀÔ´Ï´Ù.
PLAYER_STOP:  ¼Ò¸®  Àç»ýÀÌ  ÁßÁöµÈ  »óÅÂÀÔ´Ï´Ù.
PLAYER_PLAY:  ¼Ò¸®°¡  Àç»ýÁßÀΠ »óÅÂÀÔ´Ï´Ù.
PLAYER_PAUSE:  ¼Ò¸®  Àç»ýÀÌ  ÀϽÃÁßÁöµÈ  »óÅÂÀÔ´Ï´Ù.
package  com.example.audiotest;

import  java.io.*;
import  android.app.*;
import  android.content.res.*;
import  android.media.*;
import  android.os.*;
import  android.util.*;
import  android.view.*;
import  android.widget.*;

public  class  MainActivity  extends  Activity
{
        private  static  final  int  PLAYER_INIT  =  0;  //  Ã³À½  »óÅÂ
        private  static  final  int  PLAYER_STOP  =  1;  //  ÁßÁö  »óÅÂ
        private  static  final  int  PLAYER_PLAY  =  2;  //  Àç»ý  »óÅÂ
        private  static  final  int  PLAYER_PAUSE  =  3;  //  ÀϽÃÁ¤Áö  »óÅÂ
        
        private  MediaPlayer  mediaPlayer  =  null;  //  ¹Ìµð¾î  Àç»ý  Å¬·¡½º
        private  int  mediaPlayerStatus  =  PLAYER_INIT;  //  ¾×ƼºñƼÀÇ  Ã³À½  »óÅÂ
        
        private  Button  buttonPlay  =  null;  //  Àç»ý  ¹öÆ°
        private  Button  buttonStop  =  null;  //  Á¤Áö  ¹öÆ°
        private  Button  buttonPause  =  null;  //  ÀϽÃÁ¤Áö  ¹öÆ°
        
        @Override
        protected  void  onCreate(Bundle  savedInstanceState)
        {        
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
                
                this.buttonPlay  =  (Button)this.findViewById(com.example.audiotest.R.id.buttonPlay);
                this.buttonStop  =  (Button)this.findViewById(com.example.audiotest.R.id.buttonStop);
                this.buttonPause  =  (Button)this.findViewById(com.example.audiotest.R.id.buttonPause);
                
                this.buttonPlay.setOnClickListener(new  View.OnClickListener()
                {
                        @Override
                        public  void  onClick(View  v)
                        {
                                //  TODO  Auto-generated  method  stub
                                MainActivity.this.updateActivity(PLAYER_PLAY);
                        }
                });
                
                this.buttonStop.setOnClickListener(new  View.OnClickListener()
                {
                        @Override
                        public  void  onClick(View  v)
                        {
                                //  TODO  Auto-generated  method  stub
                                MainActivity.this.updateActivity(PLAYER_STOP);
                        }
                });
                
                this.buttonPause.setOnClickListener(new  View.OnClickListener()
                {        
                        @Override
                        public  void  onClick(View  v)
                        {
                                //  TODO  Auto-generated  method  stub
                                MainActivity.this.updateActivity(PLAYER_PAUSE);
                        }
                });
        }
        //  ...  »ý·«  ...  
}  
  

Àç»ý,  ÁßÁö,  ÀϽÃÁ¤Áö  ÇÔ¼ö

  updateActivity  ÇÔ¼ö´Â  ¾×ƼºñƼÀÇ  Àç»ý  »óŸ¦  º¯°æÇϴ  ÇÔ¼öÀÔ´Ï´Ù.

  ¸Å°³º¯¼öÀΠ mediaPlayerStatus´Â  ¹öÆ°À»  ´©¸§À¸·Î½á  »õ·Î  ¼³Á¤µÉ  »óŸ¦  ÀǹÌÇÕ´Ï´Ù.  ¸Å°³º¯¼ö·Î  ¹ÞÀº  mediaPlayerStatus¿Í  ¾×ƼºñƼÀÇ  ÇöÀç  Àç»ý  »óÅÂÀΠ this.mediaPlayerStatus¸¦  ºñ±³ÇÏ¿©  Àç»ý  °ü·Ã  ÀÛµ¿À»  Á¦¾îÇÒ  °ÍÀÔ´Ï´Ù.

//  this.mediaPlayerStatus  =  ¾×ƼºñƼÀÇ  ÇöÀç  Àç»ý  »óÅÂ
private  void  updateActivity(int  mediaPlayerStatus)
{
        if  (this.mediaPlayer  ==  null)
        {
                AssetManager  assetManager  =  null;
                AssetFileDescriptor  assetFileDescriptor  =  null;
                        
                try
                {
                        //  asset¿¡  Àִ  wav  ÆÄÀÏÀ»  Àç»ýÇϵµ·Ï  ¼³Á¤
                        this.mediaPlayer  =  new  MediaPlayer();
                        
                        assetManager  =  this.getAssets();
                        assetFileDescriptor  =  assetManager.openFd("test.wav");
                        
                        this.mediaPlayer.setDataSource(assetFileDescriptor.getFileDescriptor(),  assetFileDescriptor.getStartOffset(),  assetFileDescriptor.getLength());
                        assetFileDescriptor.close();
                                
                        this.mediaPlayer.prepare();
                        
                }
                catch  (IOException  e)
                {
                        //  TODO  Auto-generated  catch  block
                        e.printStackTrace();
                }
        }
        //  »õ·Î  ¼³Á¤ÇÒ  Àç»ý  »óÅÂ
        switch  (mediaPlayerStatus)
        {
        case  PLAYER_PLAY:
                //  ¾×ƼºñƼÀÇ  ÇöÀç  »óÅ¿͠ »õ·Î  ¼³Á¤ÇÒ  »óŸ¦  ºñ±³
                switch  (this.mediaPlayerStatus)
                {
                case  PLAYER_PLAY:  //  À̹̠ Àç»ýÁßÀε¥  ¶Ç  Àç»ýÀ»  ´©¸¥  °æ¿ì  ¾Æ¹«  ÀÛ¾÷  ¾È  ÇÔ
                        break;
                case  PLAYER_STOP:  //  Á¤Áö¿´´Ù°¡  Àç»ýÀ»  ´©¸¥  °æ¿ì  Ã³À½ºÎÅÍ  Àç»ý  (MediaPlayer  »ý¸íÁֱ⠠ÂüÁ¶)
                        try
                        {
                                this.mediaPlayer.prepare();
                                this.mediaPlayer.seekTo(0);
                        }
                        catch  (IllegalStateException  e)
                        {
                                //  TODO  Auto-generated  catch  block
                                e.printStackTrace();
                        }
                        catch  (IOException  e)
                        {
                                //  TODO  Auto-generated  catch  block
                                e.printStackTrace();
                        }
                        this.mediaPlayer.start();
                        break;
                case  PLAYER_PAUSE:  //  ÀϽÃÁ¤Áö¿´´Âµ¥  Àç»ýÀ»  ´©¸¥  °æ¿ì  À̾  Àç»ý
                        this.mediaPlayer.start();
                        break;
                case  PLAYER_INIT:  //  ¸Ç  Ã³À½»óÅ¿¡¼­  Àç»ýÀ»  ´©¸¥  °æ¿ì  ¸¶Âù°¡Áö·Î  Àç»ý
                        this.mediaPlayer.start();
                        break;
                }
                break;
        case  PLAYER_STOP:
                switch  (this.mediaPlayerStatus)
                {
                case  PLAYER_PLAY:  //  Àç»ý  ÁßÀ̾ú´Âµ¥  Á¤Áö¸¦  ´©¸¥  °æ¿ì
                        this.mediaPlayer.stop();
                        break;
                case  PLAYER_STOP:  //  Á¤Áö  »óÅ¿¡¼­  ¶Ç  Á¤Áö  ´©¸¥  °æ¿ì
                        break;
                case  PLAYER_PAUSE:  //  ÀϽÃÁ¤Áö  »óÅ¿¡¼­  Á¤Áö  ´©¸¥  °æ¿ì
                        this.mediaPlayer.stop();
                        break;
                case  PLAYER_INIT:  //  ¸Ç  Ã³À½  »óÅ¿¡¼­  Á¤Áö¸¦  ´©¸¥  °æ¿ì
                        break;
                }
                break;
        case  PLAYER_PAUSE:
                switch  (this.mediaPlayerStatus)
                {
                case  PLAYER_PLAY:  //  Àç»ý  ÁßÀ̾ú´Âµ¥  ÀϽÃÁ¤Áö¸¦  ´©¸¥  °æ¿ì
                        this.mediaPlayer.pause();
                        break;
                case  PLAYER_STOP:  //  Á¤Áö¿´´Âµ¥  ÀϽÃÁ¤Áö¸¦  ´©¸¥  °æ¿ì
                        break;
                case  PLAYER_PAUSE:  //  ÀϽÃÁ¤ÁöÀε¥  ¶Ç  ÀϽÃÁ¤Áö¸¦  ´©¸¥  °æ¿ì
                        break;
                case  PLAYER_INIT:  //  ¸Ç  Ã³À½»óÅ¿¡¼­  ÀϽÃÁ¤Áö¸¦  ´©¸¥  °æ¿ì
                        break;
                }
                break;
        }
        
        this.mediaPlayerStatus  =  mediaPlayerStatus;  //  ÀÌ  ¾×ƼºñƼÀÇ  Àç»ý  »óŸ¦  »õ·Î  ¹ÞÀº  »óÅ·Π º¯°æ
}
ÃßõÃßõ : 274 Ãßõ ¸ñ·Ï
¹øÈ£ Á¦¸ñ
MediaPlayer Ŭ·¡½º »ç¿ë¹ý
216
¾Èµå·ÎÀ̵忡¼­ audio player ½ÇÇàÇϱâ
215
[Android] MediaPlayer À½¾ÇÀç»ý±â ¸¸µé±â
214
Eclipse¿Í Android NDK ¿¬µ¿Çϱâ
213
Android Sliding Drawer Functionality ¾Èµå·ÎÀÌµå ½½¶óÀ̵ù µå·Î¿ì ¿¹Á¦ sample
212
Android Speech To Text
211
Android WebPageLoader with progress-bar
210
Android Text To Speech(TTS)
209
Android Playing Audio from a web url
208
Button height different from background height in Android image design
207
Android Getting Started with Material Design
206
Using toast inside timertask perfect
205
³×Æ®¿öÅ© »óÅ [Android]
204
Webview source [Android]
203
°øÀ¯ Intent [Android]
202
intent uri ¸ðÀ½ [Android]
201
http requestWebViewClient [Android]
200
ij½Ã »èÁ¦
199
ij½Ã Áö¿ì±â [Android]
198
¹Ù·ÎÇ®¾î(¼öÇÐ ¹®Á¦ ÁúÀÇÀÀ´ä SNS) ¿¡ »ç¿ëµÈ ¿ÀǼҽº ¶óÀ̺귯¸® [Android]
197
Webviw [Android]
196
¿ÀǼҽº ¶óÀ̺귯¸® ¸ðÀ½ [Android]
195
Android webview °³¹ß½Ã ¾Ë¾ÆµÖ¾ß ÇÒ °Íµé [Android]
194
webview µ¿¿µ»ó Àç»ý [Android]
193
[Android] Webview 404 ¿¡·¯ ó¸®
192
[Android] webview ssl ¹®Á¦
191
[Android] Webview url ¼û±â±â
190
[Android] AlarmManager ÀÏÁ¤½Ã°£ À̺¥Æ® ½ÇÇà
189
¾Èµå·ÎÀÌµå ¿ÀǼҽº ³¡ÆÇ
188
android studio DefaultHttpClient, HttpClient import ¿¡·¯
¸ñ·Ï
¹ÂÁ÷Æ®·ÎÆ® ºÎ»ê±¤¿ª½Ã ºÎ»êÁø±¸ °¡¾ßµ¿ ¤Ó °³ÀÎÁ¤º¸Ãë±Þ¹æħ
Copyright ¨Ï musictrot All rights reserved.