从服务器下载mp3文件,保存到MediaStore,提取数据mp3中的信息

来源:互联网 发布:台风莫兰蒂数据 编辑:程序博客网 时间:2024/05/01 14:16
获取ContentProvider中的Mp3文件,并解析信息。
public void getMusicForMediaStore(){    Cursor cursor= this.getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,null,null,null,MediaStore.Audio.Media.DEFAULT_SORT_ORDER);    if (cursor.moveToFirst()){        while (!cursor.isAfterLast()){            String title = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media._ID));            String url = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));            String artist=  cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ARTIST));            System.out.println("id = "+cursor.getString(cursor.getColumnIndex("_id")));            System.out.println("_data = "+cursor.getString(cursor.getColumnIndex("_data")));            System.out.println("_display_name = "+cursor.getString(cursor.getColumnIndex("_display_name")));            System.out.println("_size = "+cursor.getString(cursor.getColumnIndex("_size")));            System.out.println("mime_type = "+cursor.getString(cursor.getColumnIndex("mime_type")));            System.out.println("title = "+cursor.getString(cursor.getColumnIndex("title")));            System.out.println("duration = "+cursor.getString(cursor.getColumnIndex("duration")));            cursor.moveToNext();        }    }    cursor.close();}
需要注意,在每次下载完成后都需指定下载的目录刷新。将本地文件导入到ContentProvider
@Subscribe(threadMode = ThreadMode.MAIN)public void onEventMainThread(DownEvent event) {    String msg = "onEventMainThread收到了消息:" + event.position+"   "+event.state;    adapter.setItem(event.position,event.state) ;    if (event.state==2){        Intent scanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);        scanIntent.setData(Uri.fromFile(new File(event.localPath)));        sendBroadcast(scanIntent);    }    Log.i(TAG,msg);}

原创粉丝点击