你好,我想做一个android音乐应用程序,我想我的listView显示所有歌曲,以显示该歌曲的专辑艺术,艺术家姓名,持续时间和歌曲名称
我已经成功显示列表视图中的所有歌曲,但无法显示专辑艺术等
有人能帮我吗??
提前谢谢
谷歌在Github上有一个很好的手机、chromecast和自动音乐播放器的例子https://github.com/googlesamples/android-UniversalMusicPlayer
您可以使用内容提供商进行此操作。
希望这段代码可以帮助你启动。
final Cursor mCursor = getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
new String[] { MediaStore.Audio.Media.DISPLAY_NAME,
MediaStore.Audio.Media.DATA,
MediaStore.Audio.Media.ARTIST,
MediaStore.Audio.Media.ALBUM_ID }, null, null,
"LOWER(" + MediaStore.Audio.Media.TITLE + ") ASC");
int count = mCursor.getCount();
String[] songs = new String[count];
if (mCursor.moveToFirst()) {
do {
String songname = mCursor
.getString(mCursor
.getColumnIndexOrThrow(MediaStore.Audio.Media.DISPLAY_NAME));
String sonpath = mCursor.getString(mCursor
.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));
String artistname = mCursor.getString(mCursor
.getColumnIndexOrThrow(MediaStore.Audio.Media.ARTIST));
String albumid = mCursor
.getString(mCursor
.getColumnIndexOrThrow(MediaStore.Audio.Media.ALBUM_ID));
} while (mCursor.moveToNext());
Constant.sdCardmusic = allsongs;
}
mCursor.close();
}
如果你想得到相册图片,那么你可以通过相册id从上面的代码获取到下面的方法:
private Bitmap getArtistImage(String albumid) {
Bitmap artwork = null;
try {
Uri sArtworkUri = Uri
.parse("content://media/external/audio/albumart");
Uri uri = ContentUris.withAppendedId(sArtworkUri,
Long.valueOf(albumid));
ContentResolver res = mContext.getContentResolver();
InputStream in = res.openInputStream(uri);
artwork = BitmapFactory.decodeStream(in);
} catch (Exception e) {
Log.e("Exception", e.toString());
}
return artwork;
}
我已经找到了相关的问题(比如这一个),但没有什么能直接回答我的问题:我需要一种直接的方式将艺人名称和曲目名称转换为spotify链接。就像spotify对本地文件列表所做的那样(我认为有些是链接,有些不是,因为spotify没有这些曲目)。 我怎么能把像艺术家:“弗兰科林”和曲目名称:“医院之歌”这样的东西变成Spotify uri而不搜索它(它会返回多个结果,我不知道该使用哪个)。Spotify
我正在开发一个音乐播放器应用程序。我正在尝试用专辑《歌曲艺术》填充一个。我用下面给出的代码成功地做到了这一点。但有些歌曲没有嵌入唱片集,文件夹中也没有任何唱片集。因此,我试图在将专辑艺术添加到之前检查它是否为空。如果相册艺术为空,应用程序将自动从互联网上获取它。我试着检查相册艺术是否为空,但每次它都会给我一个是否有相册艺术可用。 从Mediastore获取专辑艺术的代码: albumArtUri的
如何在随后的绘图中重用中的绘图行? 我想在4个轴上绘制图,每个轴上的前三个单独的图,最后一个轴上的所有3个图。代码如下: 现在打印ax1上的线1、ax2上的线2、ax3上的线3和ax4上的线4。
原文:Artist tutorial matplotlib API 有三个层级。 matplotlib.backend_bases.FigureCanvas是绘制图形的区域,matplotlib.backend_bases.Renderer是知道如何在ChartCanvas上绘制的对象,而matplotlib.artist.Artist是知道如何使用渲染器在画布上画图的对象。 FigureCanv
我想找一位艺术家和他们的专辑。所以读这一页https://musicbrainz.org/doc/Development/XML_Web_Service/Version_2 我创建了以下查询以获取Michael Jackson的专辑 我的理解是在URL末尾添加,该URL应返回迈克尔·杰克逊的专辑,但这似乎没有返回正确的结果,或者我无法缩小结果范围?然后我想使用,但是在美术师查询中没有返回(这就是为
我是Spotify API的新手。我正在试图弄清楚如何搜索一个艺术家和一个标题在同一时间。 我正在使用一个AJAX调用,同时带有艺术家和标题。如果任何一个是空白的,我可以简单地搜索另一个,但我似乎无法弄清楚如何搜索艺术家和标题在同一时间。这样做的目的是缩小结果以找到特定的轨迹。 以下是我的资料: 如前所述,如果我只搜索艺术家或标题,它就可以正常工作。我只是不知道如何使用Spotify的API同时搜