我建立了一个带有评论的应用程序,可以在应用程序数据中播放一首来自文件夹的歌曲。 但是我希望应用程序从数据设备打开音乐(就像当你连接samsumg耳机并按下按钮时) 代码:
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 :(得分:0)
我不确定我是否正确理解了你的问题,你可能想尝试更明确地说明它。
如果您正在尝试使用耳机控件和系统范围的控件侦听器,请查看this文章,其中介绍了如何使用onKeyListener和BroadcastReceiver实现媒体控件。
编辑: 播放存储在设备内存中的媒体:
MediaPlayer mp = new MediaPlayer();
mp.setDataSource("/mnt/sdcard/directory/audiofile.wav"); //Path to the file on the device
使用MTP,Mass Storage或设备资源管理器将文件放在设备上。
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);