9

我正在创建一个简单的应用程序,我想在其中播放声音。在应用程序上按下按钮播放时,它将播放声音。为了播放我正在使用的声音:

MediaPlayer mediaPlayer;
        mediaPlayer = MediaPlayer.create(this, R.raw.test_cbr);
        mediaPlayer.setOnCompletionListener(new OnCompletionListener()
        {
            @Override
            public void onCompletion(MediaPlayer mp)
            {
                // TODO Auto-generated method stub
                Toast.makeText(getApplicationContext(), "Completed",
                   Toast.LENGTH_LONG).show();

            }
        });
mediaPlayer.start();

它工作正常。

但是现在我希望用户应该能够从设备中选择一个音频文件,这样当他或她按下播放按钮时,应该播放所选的声音。

我没有得到任何意图操作,例如可以选择图像。

Intent photo_picker_intent = new Intent(Intent.ACTION_PICK);
photo_picker_intent.setType("image/*");
startActivityForResult(photo_picker_intent, PHOTOS_FROM_GALLERY);

在上面的代码中,用户只是去画廊。单击任何图像后,他或她将获得一个图像 URI,可用于在应用程序中显示图像。除了音频文件选择之外,我也想做同样的事情。

4

1 回答 1

17

只需使用这两行,

Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(Intent.createChooser(intent, "Gallery"), reqCode);

或者,

 Intent intent = new Intent();
        intent.setType("audio/*");
        intent.setAction(Intent.ACTION_GET_CONTENT);
        startActivityForResult(Intent.createChooser(intent,"Select Audio "), reqCode);
于 2012-05-05T10:49:05.973 回答