من برای دریافت کاور یا عکس آهنگ از این کد که در این تایپیک "اطلاعات فایل موزیک" گزاشته بود استفاده کردم کد به خوبی کار میکنه ولی فایل اهنگ رو از پوشه assest میگیره میخوام از پوشه "File.DirRootExternal,Music/1.mp3" بگیره
Sub btnGetInfo_Click
Private FilePath As String = "1.mp3"
Log(FilePath)
Private ImageCover As Bitmap
Private SongName As String
ImageCover = NativeMe.RunMethod("getImageCover",Array As Object(FilePath))
imgCover.Bitmap = ImageCover
SongName = NativeMe.RunMethod("getNameFile",Array As Object(FilePath))
lblSongName.Text = SongName
End Sub
#if java
import android.media.MediaMetadataRetriever;
import android.graphics.BitmapFactory ;
import android.graphics.Bitmap;
import android.content.res.AssetFileDescriptor;
import android.content.res.AssetManager;
import java.io.IOException;
public String getNameFile(String path){
MediaMetadataRetriever mmr = new MediaMetadataRetriever();
AssetFileDescriptor afd = null;
try {
afd = getAssets().openFd(path);
} catch (IOException e) {
e.printStackTrace();
}
mmr.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength());
return mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM);
}
public Bitmap getImageCover(String imgPath){
MediaMetadataRetriever mmr = new MediaMetadataRetriever();
AssetFileDescriptor afd = null;
try {
afd =getAssets().openFd(imgPath);
} catch (IOException e) {
e.printStackTrace();
}
mmr.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength());
byte[] artBytes = mmr.getEmbeddedPicture();
if(artBytes!=null)
{
Bitmap bm = BitmapFactory.decodeByteArray(artBytes, 0, artBytes.length);
return bm;
}
else
{
return null;
}
}
#End If
سوال
kalaleh 10
سلام خسته نباشید
من برای دریافت کاور یا عکس آهنگ از این کد که در این تایپیک "اطلاعات فایل موزیک" گزاشته بود استفاده کردم کد به خوبی کار میکنه ولی فایل اهنگ رو از پوشه assest میگیره میخوام از پوشه "File.DirRootExternal,Music/1.mp3" بگیره
Sub btnGetInfo_Click Private FilePath As String = "1.mp3" Log(FilePath) Private ImageCover As Bitmap Private SongName As String ImageCover = NativeMe.RunMethod("getImageCover",Array As Object(FilePath)) imgCover.Bitmap = ImageCover SongName = NativeMe.RunMethod("getNameFile",Array As Object(FilePath)) lblSongName.Text = SongName End Sub #if java import android.media.MediaMetadataRetriever; import android.graphics.BitmapFactory ; import android.graphics.Bitmap; import android.content.res.AssetFileDescriptor; import android.content.res.AssetManager; import java.io.IOException; public String getNameFile(String path){ MediaMetadataRetriever mmr = new MediaMetadataRetriever(); AssetFileDescriptor afd = null; try { afd = getAssets().openFd(path); } catch (IOException e) { e.printStackTrace(); } mmr.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength()); return mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM); } public Bitmap getImageCover(String imgPath){ MediaMetadataRetriever mmr = new MediaMetadataRetriever(); AssetFileDescriptor afd = null; try { afd =getAssets().openFd(imgPath); } catch (IOException e) { e.printStackTrace(); } mmr.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength()); byte[] artBytes = mmr.getEmbeddedPicture(); if(artBytes!=null) { Bitmap bm = BitmapFactory.decodeByteArray(artBytes, 0, artBytes.length); return bm; } else { return null; } } #End If
لینک ارسال
به اشتراک گذاری در سایت های دیگر
1 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.