MediaPlayer,查询设备中的所有mp3并播放它们

时间:2015-11-04 21:20:51

标签: android mp3 media-player android-mediaplayer audio-player android-music-player

我正在寻找有关mediaPlayer方法的信息

我创建了一个相对简单的java类,只有两个按钮:播放和暂停。

我可以在原始文件中找到有关获取URL或简单mp3的说明,但是如何查询设备上的所有mp3文件并将它们全部播放?

public class MainActivity extends AppCompatActivity {

    Button button_stop;
    Button button_play;
    public TextView Textview;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button_stop=(Button) findViewById(R.id.button_stop);
        button_play=(Button) findViewById(R.id.button_play);


        mPlayer=new MediaPlayer();

        button_play.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){

                try{
                    mPlayer.reset();
                        mPlayer.setDataSource(Environment.getExternalStorageDirectory().getPath() + "");
                    mPlayer.prepareAsync();

                    mPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener(){
                        @Override
                    public void onPrepared(MediaPlayer mp){
                            mp.start();
                        }
                    });

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

            }
        });



        button_stop.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){
                mPlayer.pause();

            }

        });


    }    


}

我可以通过什么神奇的公式获取智能手机上的所有歌曲并全部播放?

1 个答案:

答案 0 :(得分:0)

您需要访问外部媒体存储。外部存储中的文件根据其类型存储在单独的目录中。例如:我们有一个图片目录,另一个用于铃声等。音乐存储在DIRECTORY_MUSIC或者如果是从互联网上下载的,也请检查DIRECTORY_DOWNLOAD

使用getExternalStoragePublicDirectory(),将其传递给您想要的目录类型,例如DIRECTORY_MUSIC。

更多信息:http://developer.android.com/guide/topics/data/data-storage.html#filesExternal