0
public void accessMetaData(int songIndex) 
{ 
    MediaMetadataRetriever retriver = new MediaMetadataRetriever(); 


    retriver.setDataSource(songsList.get(songIndex).get("songPath")); 

    showMetaData(retriver); 
} 

public void showMetaData(MediaMetadataRetriever retriver) 
{ 
    // Log.i("Script", "METADATA_KEY_ALBUM: " +retriver.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM)); 
    // Log.i("Script", "METADATA_KEY_ALBUMARTIST: " +retriver.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUMARTIST)); 


    byte [] imgBytes = retriver.getEmbeddedPicture(); 
    Bitmap bitmap ; 

    if(imgBytes != null) { 

     bitmap = BitmapFactory.decodeByteArray(imgBytes, 0, imgBytes.length); 

    ImageView ivImage = (ImageView)findViewById(R.id.ivImage); 
     ivImage.setImageBitmap(bitmap); 

    /* PlayListActivity.ay7aga = (ImageView)findViewById(R.id.widget_album_art); 
     ivImage.setImageBitmap(bitmap); */ 

    } 

j'ai ce code pour obtenir l'art de l'album dans l'activité A ,, je veux passer même album art à l'activité B et ce code obtenir l'art de l'album pour la chanson de lecture en courscomment passer des pochettes d'album à une autre activité

+0

Vous pouvez passer le bitmap par intention supplémentaire, donc une fois que vous obtenez le bitmap passer le bitmap par supplémentaire à d'autres activités, sinon créer un objet définir la valeur et passer à travers l'intention – Shambhavi

+0

@Shambhavi je suis nouveau dans android pouvez-vous m'aider et montrer comment puis-je faire cela en fonction de mon code –

+0

Bien sûr, Intention intentionNotif = new Intent (getApplicationContext(), YourSecondActivity.class) ; intentNotif.putExtra ("ImageBitmap", YourBitmapValue); startActivity (intentNotif); – Shambhavi

Répondre

0

si je suis votre question que vous pouvez passer l'image d'une activité à l'autre. Convertissez votre album d'images ImageView en bitmap. Définissez la propriété DrawingCache de votre ImageView sur true, puis enregistrez l'arrière-plan en tant que bitmap et transmettez-le via putExtra.

image.setDrawingCacheEnabled(true); 
    Bitmap b=image.getDrawingCache(); 
    Intent i = new Intent(this, nextActivity.class); 

    i.putExtra("Bitmap", b); 
    startActivity(i); 

Et dans votre activité suivante,

Bitmap bitmap = (Bitmap) intent.getParcelableExtra("Bitmap"); 
imageView.setImageBitmap(bitmap); 
0
btnPlaylist.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 

     /* Intent i = new Intent(getApplicationContext(), PlayListActivity.class); 
      Bitmap bmOriginal = BitmapFactory.decodeResource(getResources(), R.id.ivImage); 
      i.putExtra("ha",bmOriginal); 
      startActivityForResult(i, 100); */ 

      Intent i = new Intent(getApplicationContext(), PlayListActivity.class); 
      ivImage.buildDrawingCache(); 
      Bitmap bitmap = ivImage.getDrawingCache(); 

      i.putExtra("BitmapImage", bitmap); 



     } 
    }); 

} 





/** 
* Receiving song index from playlist view 
* and play the song 
* */ 
@Override 
protected void onActivityResult(int requestCode, 
           int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if(resultCode == 100){ 
     currentSongIndex = data.getExtras().getInt("songIndex"); 
     // play selected song 
     playSong(currentSongIndex); 
    } 

} 

/** 
* Function to play a song 
* @param songIndex - index of song 
* */ 
public void playSong(int songIndex){ 
    // Play song 
    try { 


     mp.reset(); 
     accessMetaData(songIndex); // here i can show albumart in Activity A 
     mp.setDataSource(songsList.get(songIndex).get("songPath")); 
     mp.prepare(); 
     mp.start(); 
     // Displaying Song title 
     String songTitle = songsList.get(songIndex).get("songTitle"); 
     songTitleLabel.setText(songTitle); 

     // Changing Button Image to pause image 
     btnPlay.setImageResource(R.drawable.btn_pause); 

     // set Progress bar values 
     songProgressBar.setProgress(0); 
     songProgressBar.setMax(100); 

     // Updating progress bar 
     updateProgressBar();    
    } catch (IllegalArgumentException e) { 
     e.printStackTrace(); 
    } catch (IllegalStateException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 










     Activity B 
    //  public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 


    setContentView(R.layout.playlist); 
    getActionBar().hide(); 


    ay7aga = (ImageView)findViewById(R.id.widget_album_art); 

    Bundle bundle = this.getIntent().getExtras(); 
    Bitmap bmA = bundle.getParcelable("ha"); 
    ay7aga.setImageBitmap(bmA); 





public void accessMetaData(int songIndex) 
{ 
    MediaMetadataRetriever retriver = new MediaMetadataRetriever(); 


    retriver.setDataSource(songsList.get(songIndex).get("songPath")); 

    showMetaData(retriver); 
} 

public void showMetaData(MediaMetadataRetriever retriver) 
{ 
    // Log.i("Script", "METADATA_KEY_ALBUM: " +retriver.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM)); 
    // Log.i("Script", "METADATA_KEY_ALBUMARTIST: " +retriver.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUMARTIST)); 


    byte [] imgBytes = retriver.getEmbeddedPicture(); 
    Bitmap bitmap ; 

    if(imgBytes != null) { 

     bitmap = BitmapFactory.decodeByteArray(imgBytes, 0, imgBytes.length); 

    ImageView ay7aga = (ImageView)findViewById(R.id.widget_album_art); 
    ay7aga.setImageBitmap(bitmap); 



    } 
+0

changer la clé de réception en tant que (BitmapImage) pas (ha) .. Bitmap bmA = bundle.getParcelable ("BitmapImage"); Vous utilisez une clé différente pour envoyer et recevoir l'image –

+0

@sourabhbans je l'édite, toujours essayer mais rien ne change –

+0

ok .. montrez votre dernier code après l'édition. –