Как получить обложку песни? - PullRequest
0 голосов
/ 14 декабря 2018

В настоящее время я делаю простой мобильный проект, который загружает изображение на мой сервер.Но я хочу знать, как я могу получить изображение выбранной песни из галереи на моем устройстве. Проще говоря, как поместить изображение обложки, которое я выбрал из галереи (намерение) в мой imageView, мне не нужноПесня, мне просто нужна обложка.Там нет ошибки, я просто прошу способ сделать это, основываясь на моем проекте.Потому что я не понимаю, как это сделать.Код ниже - это то, что я написал, и он вообще не работает.Помогите пожалуйста найти решение, заранее всем спасибо.

Мой код:

public class MyRecoSong extends Fragment {
   ImageView songImage;
   EditText songTitle, singer;
   Spinner sGenre;
   Button save, update;
   ListView recoSong;
   ArrayList<HashMap<String, String>> songList;
   String serverurl = "http://trinandadinantio.com";
   SongObject song[];
   TextView songID;
   String selectedPath = "";
   ProgressDialog prgDialog;
   MediaMetadataRetriever mmr = new MediaMetadataRetriever();
   byte[] rawArt;
   Bitmap art;
   BitmapFactory.Options bfo = new BitmapFactory.Options();
   List<String> Albumid = new ArrayList<>();
   @Override
   public View onCreateView(LayoutInflater inflater, ViewGroup container,
                            Bundle savedInstanceState) {
       return inflater.inflate(R.layout.activity_my_reco_song, container,
               false);
   }
   @Override
   public void onActivityCreated(Bundle savedInstanceState) {
       super.onActivityCreated(savedInstanceState);
       songList = new ArrayList<>();
       songImage = getActivity().findViewById(R.id.imageView4);
       singer = getActivity().findViewById(R.id.singerTf);
       sGenre = getActivity().findViewById(R.id.spinner3);
       save = getActivity().findViewById(R.id.saveBtn);
       update = getActivity().findViewById(R.id.updateBtn);
       recoSong = getActivity().findViewById(R.id.songLv);
       Bundle bundle = getActivity().getIntent().getExtras();
       String username = bundle.getString("username");
       prgDialog = new ProgressDialog(getActivity());
       prgDialog.setCancelable(false);
       songImage.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View v) {
               Intent intent_upload = new Intent();
               intent_upload.setType("audio/*");
               intent_upload.setAction(Intent.ACTION_GET_CONTENT);
               startActivityForResult(intent_upload, 1);
           }
       });
   }
   private void initView() {
       songImage = getActivity().findViewById(R.id.imageView4);
       singer = getActivity().findViewById(R.id.singerTf);
       sGenre = getActivity().findViewById(R.id.spinner3);
       save = getActivity().findViewById(R.id.saveBtn);
       update = getActivity().findViewById(R.id.updateBtn);
       recoSong = getActivity().findViewById(R.id.songLv);
   }
   @Override
   public void onActivityResult(int requestCode, int resultCode, Intent data) {
       if (resultCode == RESULT_OK) {
           if (requestCode == 1) {
               Cursor cursor = getAc tivity().getContentResolver().query(
                       MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI,
                       new String[]{MediaStore.Audio.Albums._ID,
                               MediaStore.Audio.Albums.ALBUM_ART},
                       MediaStore.Audio.Albums._ID + "=?",
                       new String[
                               {String.valueOf(MediaStore.Audio.Media.ALBUM_ID)},
                       null);
               if (cursor.moveToFirst()) {
                   String path =
                           cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Albums.ALBUM_ART));
                   int displayWidth =
                           getActivity().getWindowManager().getDefaultDisplay().getWidth();
                   int displayHeight =
                           getActivity().getWindowManager().getDefaultDisplay().getHeight();
                   songImage.getLayoutParams().height = displayHeight / 4;
                   songImage.getLayoutParams().width = displayWidth;
                   Bitmap imageBitmap = BitmapFactory.decodeFile(path);
                   imageBitmap = ThumbnailUtils.extractThumbnail(imageBitmap,
                           800, 600);
                   songImage.setImageBitmap(imageBitmap);
                   songImage.buildDrawingCache();
               }
           }
       }
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...