`
crazysumer
  • 浏览: 49673 次
社区版块
存档分类
最新评论

Android音乐播放器-读取SD卡中歌曲

 
阅读更多

   新建一个名为GetMusicData的工具类,使用ContentResolver来读取ContentProvider中的媒体文件信息,取得歌曲列表(包括歌曲的歌名、歌手时长等信息)

 

 

 

public class GetMusicData {

	public static ArrayList<Song> getMusicData(Context context) {
		ArrayList<Song> musicData = new ArrayList<Song>();
		ContentResolver cr = context.getContentResolver();
		
			Cursor cursor = cr.query(
					MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null,
					null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
			
			Log.i("游标中的数据的行数", cursor.getCount()+ "");
			if(null != cursor && cursor.getCount()>0){
				
				for(cursor.moveToFirst();!cursor.isAfterLast();cursor.moveToNext()){
					

					String title = cursor.getString(cursor
							.getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE));
//					Log.i("GetMusicdata--------------------", title);
					String singer = cursor.getString(cursor
							.getColumnIndexOrThrow(MediaStore.Audio.Media.ARTIST));
//					Log.i("GetMusicdata--------------------", singer);
					int time = cursor
							.getInt(cursor
									.getColumnIndexOrThrow(MediaStore.Audio.Media.DURATION));
//					Log.i("GetMusicdata--------------------", time + "");
					String name = cursor
							.getString(cursor
									.getColumnIndexOrThrow(MediaStore.Audio.Media.DISPLAY_NAME));
//					Log.i("GetMusicdata--------------------", name);
					String suffix = name
							.substring(name.length() - 4, name.length());
					
					String url = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));

					if (suffix.endsWith(".mp3") || suffix.endsWith(".MP3")) {
						Song song = new Song();
						song.setTitle(title);
						song.setSinger(singer);
						song.setName(name);
						song.setTime(time);
						song.setUrl(url);
						musicData.add(song);
					}

				}
				cursor.close();// 关闭游标
				
			}
			
		Log.i("歌曲总共有=============", musicData.size()+"");
			
		
		return musicData;
	}

 

 

  • 大小: 3.8 KB
  • 大小: 157.7 KB
  • 大小: 3.9 KB
  • 大小: 158.7 KB
  • 大小: 73.9 KB
分享到:
评论

相关推荐

    Android Studio实现简单的本地音乐播放器

    超简单的,只有一个播放页面的音乐播放器,读取模拟器SD卡的音乐文件进行播放,可以点击歌曲列表的歌曲播放,还可以暂停和继续播放。 Android Studio:3.1.4 Gradle:gradle-4.4-all

    android音乐播放器需求分析

    4. **读取SD卡音乐**:兼容本地音乐文件,扩展音乐库容量。 5. **音乐均衡器定制**:用户可根据个人喜好调整音效,提升音质个性化。 6. **音量调节**:便捷的音量控制,0-100范围自由调节。 7. **歌词同步滚动**:...

    android读取sd卡中MP3文件

    在Android平台上,开发人员经常需要处理与媒体文件交互的任务,比如读取SD卡中的MP3音乐文件。这个过程涉及到文件系统的操作、权限管理以及多媒体数据的处理。以下是一些关于如何在Android中读取SD卡中MP3文件的关键...

    android音乐播放器Demo代码

    3. **音频文件管理**:音乐播放器通常需要处理用户选择的音频文件,这可能涉及到读取存储卡上的音乐文件,或者使用ContentResolver查询媒体库中的音频数据。 4. **UI设计**:Android的音乐播放器Demo会包含一个用户...

    Android Apollo播放器-IT计算机-毕业设计.zip

    Apollo播放器还涉及到文件系统操作,如读取SD卡上的音乐文件。Android提供了文件I/O接口,使开发者能够方便地访问外部存储空间。源码中包含了如何遍历文件夹、筛选音乐文件并加载到播放列表的实例。 网络通信在现代...

    android音乐播放器源代码

    8. **权限管理**:由于涉及到读取SD卡内容,应用需要在AndroidManifest.xml中声明`READ_EXTERNAL_STORAGE`权限。如果目标API级别高于23,还需要在运行时动态请求此权限。 9. **线程管理**:为了避免UI线程阻塞,...

    课程设计 Android音乐播放器

    在本课程设计中,我们构建了一个基于Android平台的音乐播放器应用,该应用具备基本的音乐播放功能,如播放、暂停、继续、切换至上一首和下一首歌曲,并且能够同步SD卡上的音乐文件。此外,它还实现了从现有的音乐...

    android读取sd卡中音乐文件列表

    ### Android读取SD卡中音乐文件列表 在Android开发中,常常需要实现的功能之一就是读取设备中的音乐文件。这通常用于音乐播放器类的应用程序,以便用户可以浏览并选择他们想要播放的歌曲。本文将详细介绍如何通过...

    Android安卓源码-音乐播放器类源代码(10例).zip

    这通常涉及到读取外部存储(如SD卡)上的媒体文件,并通过`MediaStore`类来检索音乐信息,包括歌曲标题、艺术家、专辑等元数据。 2. **MediaPlayer类**:Android的`MediaPlayer`类是音频播放的核心。它支持多种音频...

    Android Studio项目-JK音乐播放器 安卓课程设计

    - **播放列表管理**:项目可能包含了处理音频文件的逻辑,如读取存储卡上的音乐文件,创建和管理播放列表。 - **播放控制**:播放、暂停、停止、下一首、上一首等功能的实现,这通常涉及`MediaPlayer`类的使用。 ...

    Android应用源码之音乐播放器-IT计算机-毕业设计.zip

    - **文件系统访问**:读取本地音乐文件,可能需要遍历SD卡上的音乐目录。 5. **服务(Service)** - **后台播放**:通过Service实现,即使在后台或应用被关闭时,仍能继续播放音乐。 - **通知栏控制**:使用...

    Android应用源码音乐播放器-IT计算机-毕业设计.zip

    音乐文件可能存储在手机的外部存储卡上,因此需要使用Storage Access Framework或旧版的File API来读取和选择音乐文件。源码中可能包含了遍历文件夹、获取音乐文件信息(如歌曲名、艺术家、时长等)的相关代码。 ...

    Android音乐播放器,可直接运行,可以读取本地音频文件,按不同列表显示,点击可以进入播放界面,可以进行播放、暂停等基本功能

    在Android平台上开发一款音乐播放器是一项常见的任务,它涉及到许多Android SDK的核心技术和组件。这款名为"MyMusic"的音乐播放器应用程序具有基础的音乐播放功能,包括读取本地音频文件、按列表显示、播放控制等。...

    Android手机平台音乐播放器毕业论文

    - 扩展卡需求:能读取和播放存储在扩展卡上的音乐文件。 - 功能需求分析:通过时序图描绘不同功能之间的交互过程。 2.2 系统结构图和流程图:描述了播放器的整体架构和各模块间的逻辑关系。 2.3 系统界面需求:...

    Android本地音乐播放器(获取外置存储卡的音乐)

    首先,我们要理解的是,这个播放器能够从外部存储卡(即外置SD卡)读取音乐文件,这意味着我们需要掌握Android对文件系统和存储权限的管理。下面将详细讨论相关知识点。 1. **Android权限管理**: - 在Android 6.0...

    Android 简单实用的音乐播放器-IT计算机-毕业设计.zip

    通常,音乐文件存储在外部存储(SD卡)或内部存储的特定目录下,需要使用File类和ContentResolver来访问。 4. **SQLite数据库**:为了实现播放列表的保存和管理,开发者可能需要使用SQLite数据库来存储音乐元数据,...

    Android简易音乐播放器

    9. **权限管理**:访问媒体库和播放音乐可能需要请求读取外部存储和播放音频的权限。在Android 6.0及以上版本,需要在运行时动态请求权限。 10. **性能优化**:考虑到音频处理可能消耗大量资源,需要合理调度任务,...

    基于Android手机平台的音乐播放器-毕业论文.doc

    - **扩展卡需求**:支持从外部存储设备(如SD卡)导入音乐,增加音乐资源的多样性。 - **时序图分析**:通过时序图展示各个功能模块间的交互逻辑,确保系统运行流畅。 2.2 系统结构与流程图:定义了系统的主要组件...

    Android 音乐播放器源码.zip

    8. **Permission**: 在AndroidManifest.xml中声明的权限,如读取外部存储权限,因为音乐文件通常存储在外部存储卡上。 9. **通知栏控制**: 当应用在后台运行时,可以通过通知栏来控制音乐播放,提供暂停、播放、跳...

    android音乐播放器源码

    3. **歌曲列表管理**:音乐播放器需要管理歌曲列表,这可能涉及到文件系统的操作,如读取SD卡上的MP3文件。源码中可能有一个SongProvider类,负责获取、存储和刷新歌曲列表。此外,还需要实现歌曲的排序和过滤功能。...

Global site tag (gtag.js) - Google Analytics