我希望从我的媒体文件中获取信息(主要是mp3),我只从我想要的那些值中得到null.我试过所有的钥匙extractMetadata(key).我跳过/遗失了什么吗?
代码基础:
MediaMetadataRetriever f = new MediaMetadataRetriever();
f.setDataSource(item.getFilePath());
String title = f.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE);
Run Code Online (Sandbox Code Playgroud)
我使用duration键(MediaMetadataRetriever.METADATA_KEY_DURATION)和mimetype键获取正确的值(MediaMetadataRetriever.METADATA_KEY_MIMETYPE),这表示数据源/文件路径正在工作.
Poweramp(流行的媒体播放器)能够读取元数据值,例如标题/作者/作曲家等,因为它在UI中显示这些额外的值.或者Poweramp可能从其他来源或方法中获取这些值?
任何帮助表示赞赏.
首先,我是一个新手,其次我知道有一个解决方案"如何从Android中的专辑中获取歌曲?" 但这是通过使用游标和MediaStore,我已经使用MediametadataRetriever,它完全不同我没有使用哈希映射和所有.....所以它有点困难....请任何解决方案为此???不使用hashmaps和mediastore ???
这是我用来显示所有歌曲及其艺术家的代码..........
import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;
import java.io.Serializable;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.List;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.media.MediaMetadataRetriever;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.ListFragment;
import android.util.DisplayMetrics;
import android.util.TypedValue;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class FragmentSongs extends Fragment implements Serializable {
AdapterView.AdapterContextMenuInfo info;
@Override
public …Run Code Online (Sandbox Code Playgroud)