Android媒体播放器 - 从数据设备播放

时间:2013-06-12 08:56:30

标签: android media-player

我建立了一个带有评论的应用程序,可以在应用程序数据中播放一首来自文件夹的歌曲。 但是我希望应用程序从数据设备打开音乐(就像当你连接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;
                                }
         } 

如何更改代码?

1 个答案:

答案 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);