2013-06-12 52 views
-1

我建立了一个应用程序的评论,从应用程序数据中的文件夹中播放一首歌曲。但我希望应用程序从数据设备上打开音乐(如连接时SAMSUMG耳机并按下按钮) 代码:Android媒体播放器 - 从数据设备播放

public MediaPlayer song1; 



@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     song1 = MediaPlayer.create(getApplicationContext(), R.raw.smashing_the_opponent); 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) 
    { 
     switch (item.getItemId()) 
     { 
     case R.id.start: 
      Log.i(tag, "Start item Clicked"); 
      Toast.makeText(getApplicationContext(), "Music On", Toast.LENGTH_LONG).show(); 
      song1.play(); 
     return true; 
           } 
     } 

如何更改代码?

回答

0

我不确定我是否正确理解你的问题,你可能想尝试更明确地尝试措辞。

如果您尝试使用耳机控制和系统范围的控制侦听器,请参阅this文章,其中介绍了如何使用onKeyListener和BroadcastReceiver实现媒体控制。

编辑:要播放存储在设备存储介质:

MediaPlayer mp = new MediaPlayer(); 
    mp.setDataSource("/mnt/sdcard/directory/audiofile.wav"); //Path to the file on the device 

而且请使用MTP,大容量存储设备,或设备资源管理器把设备上的文件。

EDIT2要停止媒体和恢复播放算账:

MediaPlayer mp = new MediaPlayer(); 
    ...//Play media, do stuff.... 
    int currentTime = mp.getCurrentPosition(); 
    mp.pause(); 
    ...//Media is stopped, do stuff... 
    //You can even reload the whole MediaPlayer if necessary, all you need is the media (path) and millisecond CurrentTime 
    mp.start(); 
    mp.seekTo(currentTime); 
+0

我会更清楚expline我自己。 我希望该按钮能播放音乐,但不能播放来自设备数据的文件夹。 –

+0

但是,如果有人将他的音乐放在SD卡或其他文件夹中? - –

+0

我希望媒体播放器将从设备停止的位置恢复 –