如题,就是去实现把所有的音乐文件找出来,然后选择一个设置成默认铃声
解决方案 »
- android SDK Manager 下载失败
- 如何用android:shape画扇形啊
- android使用google地图的问题
- 如何在多个bitmap中选中某一张?
- SQLiteDatabase database = dbOpenHelper.getReadableDatabase();
- lisview转屏以后怎么scroll会跑到下面去?
- 菜鸟求大神请教android重力感应的代码问题!
- android 怎样实现从文本框获得用户名和密码,自动登录网站?
- android又腐案mysql数据库;连接不上的问题
- android 如何绘制轨迹?
- 左键、右键在手机上没有,如何改进呢?
- android中的Factory函数是什么意思
也可以通过读取文件列表的方式。
例如读取sd卡音乐文件的方法:
String[] mCursorCols = new String[] { MediaStore.Audio.Media._ID,
MediaStore.Audio.Media.ARTIST, MediaStore.Audio.Media.ALBUM,
MediaStore.Audio.Media.TITLE, MediaStore.Audio.Media.DATA,
MediaStore.Audio.Media.MIME_TYPE, MediaStore.Audio.Media.ALBUM_ID,
// MediaStore.Audio.Media.ARTIST_ID,
MediaStore.Audio.Media.DISPLAY_NAME, // 文件名
MediaStore.Audio.Media.DURATION };
// 通过一个URI可以获取所有音频文件
Uri MUSIC_URL = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; // 这里过滤了一下,默认播放时间大于10秒的可以看作是歌 "duration > 10000"
try {
String selection = MediaStore.Audio.Media.IS_MUSIC + "!=0 AND "
+ MediaStore.Audio.Media.DURATION +" > ?";
String[] selectionArgs = new String[] {
String.valueOf(MusicDemo.minAudioLength * 1000) // s -> ms
}; // 歌曲名升序排列
// String orderBy = MediaStore.Audio.Media.TITLE + " COLLATE LOCALIZED ASC";
String orderBy = MediaStore.Audio.Media.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
mCursor = getContentResolver().query(MUSIC_URL, mCursorCols, selection, selectionArgs, orderBy);
if (mCursor == null) {
Log.d(TAG, "No music has found!!!!!!" + '\n');
} else if (mCursor.getCount() == 0) {
Log.d(TAG, "No music has found!!!!!! mCursor.getCount() == 0" + '\n');
}
} catch (Exception e) {
e.printStackTrace();
Log.e(TAG, "onCreate() getContentResolver ERROR.");
}2.RingtoneManager就是铃声管理类,用来设置铃声时使用。
参考:
android 个人铃声设置代码