Zan*_*hna 2 android media-player android-sdk-2.1 android-sdcard android-mediaplayer
在我的Android应用程序中,我想从SD卡获取歌曲,但我无法获得该特定文件的路径.我使用的是android api level 7,它不支持以下方法.
Environment.getExternalStoragePublicDirectory (Environment.DIRECTORY_MUSIC);
Run Code Online (Sandbox Code Playgroud)
我也试过以下代码:
path = Environment.getExternalStorageDirectory();
Run Code Online (Sandbox Code Playgroud)
但我不知道如何指定音乐文件的路径.请提出一些解决方案.谢谢.
从SD卡获取路径和歌曲名称.您可以从MediaStore中找到该歌曲的路径.
媒体提供程序包含内部和外部存储设备上所有可用媒体的元数据.
private String[] STAR = { "*" };
public void ListAllSongs()
{
Cursor cursor;
Uri allsongsuri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0";
if (isSdPresent()) {
cursor = getContentResolver().query(allsongsuri, STAR, selection, null, null);
if (cursor != null) {
if (cursor.moveToFirst()) {
do {
String songname = cursor
.getString(cursor
.getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME));
int song_id = cursor.getInt(cursor
.getColumnIndex(MediaStore.Audio.Media._ID));
String fullpath = cursor.getString(cursor
.getColumnIndex(MediaStore.Audio.Media.DATA));
String albumname = cursor.getString(cursor
.getColumnIndex(MediaStore.Audio.Media.ALBUM));
} while (cursor.moveToNext());
}
cursor.close();
}
}
}
public static boolean isSdPresent()
{
return android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13289 次 |
| 最近记录: |