ȸ¿ø°¡ÀԡžÆÀ̵ð/ºñ¹øÃ£±â
ȨÀ¸·Î
[Android] MediaPlayer À½¾ÇÀç»ý±â ¸¸µé±â
6³â Àü
*  Android¿¡¼­  mp3  Ç÷¹À̾  ¸¸µé¾î  º¾½Ã´Ù.
*  ÀÚ½ÅÀÇ  ÇÁ·ÎÁ§Æ®  raw  Æú´õ¿¡  Àִ  mp3ÆÄÀÏ  ¶Ç´Â  ¿ÜºÎ¿¡Àִ  (http://ÆÄÀÏÀÌÁ¸ÀçÇÏ´ÂÁÖ¼Ò)  À½¾ÇÆÄÀÏÀ»  Àç»ýÇØ  º¾½Ã´Ù.

1.  android¿¡¼­  ¿Àµð¿À  Àç»ýÀº  MediaPlayer  Å¬·¡½º¸¦  ÀÌ¿ëÇÕ´Ï´Ù.
2.  playAudio()  (»ç¿ëÀÚ  Á¤ÀÇ  ¸Þ¼Òµå)  :  Àç»ýÀ»  ´©¸£¸é  MediaPlayer  °´Ã¼¸¦  »ý¼ºÇÏ°í  mp3¸¦  ½ÃÀÛÇÕ´Ï´Ù.
3.  MediaPlayer.stop();  :  mediaPlayer¸¦  Á¤ÁöÇÕ´Ï´Ù  µ¿½Ã¿¡  °´Ã¼¸¦  null·Î  ÃʱâÈ­ÇÕ´Ï´Ù.
4.  playbackPosition  =  mediaPlayer.getCurrentPosition();  :  Á¤Áö(pause())¸¦  ÇϱâÀü¿¡  ÇöÀç  Àç»ýÁßÀΠ À§Ä¡¸¦  ÀúÀåÇÕ´Ï´Ù.
5.  MediaPlayer.pause()  :  ½ÇÇàÁßÀÌ´ø  ¿Àµð¿À¸¦  ÁßÁöÇÕ´Ï´Ù
6.    if(mediaPlayer  !=null  &&  !mediaPlayer.isPlaying()){
                                        mediaPlayer.start();
                                        mediaPlayer.seekTo(playbackPosition);

    ¹Ìµð¾î  Ç÷¹À̾°´Ã¼°¡  Á¸ÀçÇϴµ¥  Àç»ý  ÁßÀÌÁö  ¾ÊÀ¸¸é(=ÀϽÃÁ¤ÁöÀΠ »óÅÂ)  ´Ù½Ã  start()ÇÕ´Ï´Ù.
    À̶§  pause()(ÀϽÃÁ¤Áö)  ÇÒ  ¶§  ÀúÀåÇß´ø  playbackPosition  À§Ä¡¸¦  seekTo()  ¸Þ¼­µå¿¡  ³Ö¾îÁ־  ÇØ´ç  À§Ä¡ºÎÅÍ  Àç½ÃÀÛ  µÇµµ
    ·ÏÇÕ´Ï´Ù.

*  Áß¿ä
  À½¾ÇÆÄÀÏÀ»  ÇÁ·ÎÁ§Æ®¿¡  ³Ö±â  À§Çؼ­´Â  resÆú´õ  -  rawÆú´õ¿¡  ³Ö¾îÁּžߠ ÇÕ´Ï´Ù  (rawÆú´õ´Â  »ý¼ºÇØÁÖ¾î¾ß  ÇÕ´Ï´Ù)
  ±×¸®°í  rawÆú´õ¾È¿¡  mp3ÆÄÀÏÀ»  ³Ö°ÔµÇ¸é  R.java¿¡  rawŬ·¡½º°¡  Çϳª  ¸¸µé¾îÁö°í  ±×  ¾È¿¡  mp3  À妽º°¡  ºÎ¿©µË´Ï´Ù.
  ÇØ´ç  À妽º¸¦  ÀÌ¿ëÇØ¼­  À½¾ÇÀ»  ¼øÂ÷ÀûÀ¸·Î  Àç»ýÇÒ  ¼öµµ  ÀÖ½À´Ï´Ù!?

MainActivity.java
package  com.example.audio;
  
import  android.app.Activity;import  android.app.ActivityManager;
import  android.media.MediaPlayer;
import  android.os.Bundle;
import  android.util.Log;
import  android.view.Menu;
import  android.view.MenuItem;
import  android.view.View;
import  android.widget.Button;
import  android.widget.Toast;
  
public  class  MainActivity  extends  Activity  {
  
        
        //³ë·¡³ª  ºñµð¿À  Àç»ýÀÌ  °¡´ÉÇÑ  Ç÷¹À̾º¯¼ö
        private  MediaPlayer  mediaPlayer;
        //ÁßÁöµÉ  ¶§ÀÇ  Àç»ý  À§Ä¡
        private  int  playbackPosition  =0;
        @Override
        protected  void  onCreate(Bundle  savedInstanceState)  {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
                
                //¹öư  °¡Á®¿À±â/
                Button  start  =  (Button)findViewById(R.id.playBtn);
                Button  pause  =  (Button)findViewById(R.id.pauseBtn);
                Button  restart  =  (Button)findViewById(R.id.restartBtn);
                
                start.setOnClickListener(new  View.OnClickListener()  {
                        
                        @Override
                        public  void  onClick(View  arg0)  {
                                try  {
                                        if(mediaPlayer!=null){
                                                mediaPlayer.stop();
                                                mediaPlayer  =  null;
                                        }
                                        playAudio();
                                }  catch  (Exception  e)  {
                                        //  TODO  Auto-generated  catch  block
                                        e.printStackTrace();
                                }
                                Toast.makeText(MainActivity.this,"Media  Play",Toast.LENGTH_LONG).show();
                        }
                });
                
                pause.setOnClickListener(new  View.OnClickListener()  {
                        
                        @Override
                        public  void  onClick(View  v)  {
                                if(mediaPlayer  !=null){
                                        //ÇöÀç  Àç»ýÀ§Ä¡  ÀúÀå
                                        playbackPosition  =  mediaPlayer.getCurrentPosition();
                                        mediaPlayer.pause();
                                        Toast.makeText(MainActivity.this,"Pause",Toast.LENGTH_LONG).show();;
                                }
                        }
                });
                
                restart.setOnClickListener(new  View.OnClickListener()  {
                        
                        @Override
                        public  void  onClick(View  v)  {
                                if(mediaPlayer  !=null  &&  !mediaPlayer.isPlaying()){
                                        mediaPlayer.start();
                                        mediaPlayer.seekTo(playbackPosition);
                                        Toast.makeText(MainActivity.this,"Restart",Toast.LENGTH_LONG).show();
                                }
                        }
                });
        }
  
        //¹Ìµð¾î¸¦  Àç»ýÇϴ  »ç¿ëÀÚ  Á¤ÀÇ  ¸Þ¼Òµå
        private  void  playAudio()  throws  Exception{
                
                mediaPlayer  =  MediaPlayer.create(this,R.raw.song);
                mediaPlayer.start();
                
                //¿ÜºÎ  ¼­¹ö³ª  ¿ÜºÎ  À½¾ÇÆÄÀÏ  ´Ù¿î·Îµå  ½Ã
                /*mediaPlayer  =  new  MediaPlayer();
                mediaPlayer.setDataSource("http://10.0.2.2:8080/webapp/song/song.mp3");
                //´Ù¿î·Îµå°¡  ´ÙµÉ  ¶§  ±îÁö  ÁغñÇϴ  ¸Þ¼ÒµåÀ̸砠Áغñ°¡  ´ÙµÇ¸é  ±×´ÙÀ½  ´Ü°è·Î  ÁøÇà
                mediaPlayer.prepare();
                mediaPlayer.start();*/
        }
        
        @Override
        //¾×ƼºñƼ°¡  È­¸é¿¡¼­  Á¦°ÅµÉ  ¶§  È£ÃâµÇ´Â  ¸Þ¼­µå
        protected  void  onDestroy(){
                killMediaPlayer();
                super.onDestroy();
        }
        
        /*@Override
        protected  void  onResume(){
                
                super.onResume();
                
                mediaPlayer  =  MediaPlayer.create(this,R.raw.song);
                if(mediaPlayer  !=null  &&  !mediaPlayer.isPlaying()){
                        mediaPlayer.start();
                        mediaPlayer.seekTo(playbackPosition);
                        Toast.makeText(MainActivity.this,"Restart",Toast.LENGTH_LONG).show();
                }
        }*/
        
        private  void  killMediaPlayer(){
                if(mediaPlayer  !=null  &&  !mediaPlayer.isPlaying()){
                        try{
                                mediaPlayer.release();
                        }catch(Exception  e){
                                Log.e("error",e.getMessage());
                        }
                }
        }
        
        
        @Override
        public  boolean  onCreateOptionsMenu(Menu  menu)  {
                //  Inflate  the  menu;  this  adds  items  to  the  action  bar  if  it  is  present.
                getMenuInflater().inflate(R.menu.main,  menu);
                return  true;
        }
  
        @Override
        public  boolean  onOptionsItemSelected(MenuItem  item)  {
                //  Handle  action  bar  item  clicks  here.  The  action  bar  will
                //  automatically  handle  clicks  on  the  Home/Up  button,  so  long
                //  as  you  specify  a  parent  activity  in  AndroidManifest.xml.
                int  id  =  item.getItemId();
                if  (id  ==  R.id.action_settings)  {
                        return  true;
                }
                return  super.onOptionsItemSelected(item);
        }
}

activity_main.xml
<LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"  >
  
        <Button  
                android:id="@+id/playBtn"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:width="180dp"
                android:layout_gravity="center"
                android:text="start"
                />
        <Button  
                android:id="@+id/pauseBtn"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:width="180dp"
                android:layout_gravity="center"
                android:text="pause"
                />
        
        <Button  
                android:id="@+id/restartBtn"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:width="180dp"
                android:layout_gravity="center"
                android:text="restart"
                />
  
</LinearLayout>

ÃßõÃßõ : 221 Ãßõ ¸ñ·Ï
¹øÈ£ Á¦¸ñ
1,340
 cmd ¸í·É¾î (¸í·É ÇÁ·ÒÇÁÆ® ¸í·É¾î) ¸ðÀ½
1,339
 Windows10 ƯÁ¤ ÇÁ·Î±×·¥(OCS 2007 R2)¿¡¼­ ÷ºÎÆÄÀÏ µå·¡±×¾Øµå·ÓÀÌ ¾È µÇ´Â Çö»ó
1,338
 À©µµ¿ì ·Î±×, °ü¸® À̺¥Æ® »èÁ¦
1,337
 Å¬¸° ºÎÆÃ
1,336
 Windows ±¸¼º ¿ä¼Ò ÀúÀå¼Ò¿¡¼­ ÆÄÀÏ ¼Õ»ó °Ë»ç
1,335
 Windows Defender °Ë»ç ±â·Ï »èÁ¦Çϱâ
1,334
 °£´ÜÇÑ À©µµ¿ì 10 Á¤Ç° ÀÎÁõ (Å©·¢ÇÁ·Î±×·¥ ÇÊ¿ä¾øÀ½)
1,333
 ¿À·ù³­ Æú´õ °­Á¦»èÁ¦ ¹æ¹ý
1,332
 Å©·Ò¿¡¼­ Ç÷¡½Ã Ç×»ó Çã¿ëÇϵµ·Ï ¼³Á¤Çϱâ (·¹Áö½ºÆ®¸®) reg ÆÄÀÏ ¸¸µé±â
1,331
 GPT µð½ºÅ©¸¦ MBR µð½ºÅ©·Î º¯È¯
1,330
 MBR µð½ºÅ©¸¦ GPT µð½ºÅ©·Î º¯È¯
1,329
 ±¸±Û °Ë»öÀ» 200% Ȱ¿ëÇÏ°Ô ÇØÁÖ´Â °Ë»ö ¸í·É¾î ÃÑÁ¤¸®
1,328
 [Jquery] jQuery·Î ¿ìŬ¸¯ ¹æÁö, µå·¡±× ¹æÁö, ¼±Åà ¹æÁö (IE10, ÆÄÀÌ¾îÆø½º, Å©·Ò È®ÀÎ)
1,327
 php »ç¿ëÀÚ Á¢¼ÓIP, ºê¶ó¿ìÀúÁ¤º¸, osÁ¤º¸, http, https Á¢¼ÓÇÁ·ÎÅäÄÝ ¾Ë¾Æ¿À±â
1,326
 [PHP] IE ºê¶ó¿ìÀú Á¢¼Ó °ËÃâÇϱâ
1,325
 À©µµ¿ì10 ½Ã½ºÅÛ ¿¹¾à ÆÄƼ¼Ç È®ÀÎ ¹× »èÁ¦
1,324
 À©µµ¿ì10 º¹±¸ ÆÄƼ¼Ç »èÁ¦ ¹æ¹ý
1,323
 À©µµ¿ì10 ºÎÆÃÁö¿¬ °ËÀºÈ­¸é¿¡¼­ ¸îºÐ°£ ¸Ó¹«´Â Çö»ó ÇØ°á¹æ¹ý
1,322
 »ï¼º³ëÆ®ºÏ ¹ÙÀÌ¿À½º ÁøÀÔÀÌ ºÒ°¡´ÉÇÑ °æ¿ì ¹ÙÀÌ¿À½º À缳ġ¿Í NVRAM ÃʱâÈ­
1,321
 ÀͽºÇ÷η¯(IE)ÀÇ ±¸±Û °Ë»ö°ø±ÞÀÚ Çѱ۷Πº¯°æ ¹æ¹ý
1,320
 À©µµ¿ì 10 ±âº» ¾Û »èÁ¦ ¹× º¹±¸
1,319
 meta ÅÂ±× http-equiv ¼³Á¤¹æ¹ý°ú Â÷ÀÌÁ¡
1,318
 ±¸±Û(Google)°Ë»ö¿¡¼­ °í±Þ¿¬»êÀÚ¸¦ ÀÌ¿ëÇÏ¿© ¸¹Àº Á¤º¸¸¦ ¾ò´Â ¹æ¹ý
1,317
 ÇÁ·Î±×·¥ ¾øÀÌ Çϵåµð½ºÅ© º¹»ç ¹× ¹é¾÷Çϱâ
1,316
 Windows7 ¾÷µ¥ÀÌÆ® ±â·Ï »èÁ¦¹æ¹ý
1,315
 Æ÷Åä¼¥ psd ÆÄÀÏ ¿¬°á ·¹Áö½ºÆ®¸®(registry) ÆíÁý
1,314
 À©µµ 10 Ãֽо÷µ¥ÀÌÆ® ÈÄ ÀÎÅÍ³Ý ¼ÓµµÀÇ ÀúÇϰ¡ ¹ß»ýÇÒ ¶§ Á¶Ä¡ »çÇ×
1,313
 Autotuning level ÇØÁ¦ (À©µµ¿ìºñ½ºÅ¸ ÀÌ»ó À©µµ¿ì)ÀÎÅÍ³Ý ¼Óµµ ºü¸£°Ô ÇÏ´Â ¹æ¹ý
1,312
 À©µµ¿ì¿¡¼­ ƯÁ¤ÇÁ·Î¼¼½º¸¦ Àϰý Á¾·áÇϴ¹ý
1,311
 MediaPlayer Ŭ·¡½º »ç¿ë¹ý
¸ñ·Ï
¹ÂÁ÷Æ®·ÎÆ® ºÎ»ê±¤¿ª½Ã ºÎ»êÁø±¸ °¡¾ßµ¿ ¤Ó °³ÀÎÁ¤º¸Ãë±Þ¹æÄ§
Copyright (C) musictrot All rights reserved.