2016-08-22 46 views
-1

我正在開發一個simplle Android應用程序,通過給出路徑從設備存儲中播放一個.mp3文件。我需要從後臺播放的mp3文件 ,並顯示通過歌曲名稱的通知...Android:如何在Android中附加服務?

我怎麼可以使用服務,並通過顯示歌名中bakground播放音樂..

代碼我採用的是...

Mainactivity.java

public class MainActivity extends Activity { 
    Button start,pause,stop; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     start=(Button)findViewById(R.id.button1); 
     pause=(Button)findViewById(R.id.button2); 
     stop=(Button)findViewById(R.id.button3); 
     //creating media player 
     final MediaPlayer mp=new MediaPlayer(); 
     try{ 
      //you can change the path, here path is external directory(e.g. sdcard) /Music/maine.mp3 
      mp.setDataSource(Environment.getExternalStorageDirectory().getPath()+"/Jithin's/downloadedfile.mp3"); 

      mp.prepare(); 
     }catch(Exception e){e.printStackTrace();} 

     start.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       mp.start(); 
      } 
     }); 
     pause.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       mp.pause(); 
      } 
     }); 
     stop.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       mp.stop(); 
      } 
     }); 
    } 
} 

誰能幫我找到代碼..三江源....

+0

你嘗試過嗎?究竟是什麼問題? –

+0

該程序正常工作。但是當我在前面使用另一個應用時,音樂停止播放。 –

+0

你需要恢復和ondestroyed方法,這..在簡歷上玩你需要準備... –

回答

0

你可以看看this得到的想法。

+0

這必須是一個評論! – Piyush

0

試試這個

try { 
       mp = new MediaPlayer(); 

       mp.setDataSource(Environment.getExternalStorageDirectory().getPath()+"/Jithin's/downloadedfile.mp3"); 
       mp.setLooping(false); // Set looping 
       mp.setVolume(100,100); 
       mp.prepare(); 
       mp.start(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 





@Override 
protected void onResume() { 

     try { 

       mp.prepare(); 
       mp.start(); 

     } catch (IllegalStateException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

    } 
    super.onResume(); 
} 


@Override 
protected void onDestroy() { 
    super.onDestroy(); 

      mp.stop(); 

    } 
} 

注意:確保路徑存在......因此,當您啓動音樂或停機檢查路徑存在比玩