类android.provider.MediaStore.Audio源码实例Demo

下面列出了怎么用android.provider.MediaStore.Audio的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: FireFiles   文件: StorageProvider.java
protected ParcelFileDescriptor openAudioThumbnailCleared(long id, CancellationSignal signal)
        throws FileNotFoundException {
    final ContentResolver resolver = getContext().getContentResolver();

    Cursor cursor = null;
    try {
        cursor = resolver.query(Audio.Albums.EXTERNAL_CONTENT_URI,
        		AudioThumbnailQuery.PROJECTION, Audio.Albums._ID + "=" + id,
                null, null);
        if (cursor.moveToFirst()) {
            final String data = cursor.getString(AudioThumbnailQuery._DATA);
            return ParcelFileDescriptor.open(
                    new File(data), ParcelFileDescriptor.MODE_READ_ONLY);
        }
    } finally {
        IoUtils.closeQuietly(cursor);
    }
    return null;
}
 
源代码2 项目: FireFiles   文件: StorageProvider.java
protected ParcelFileDescriptor openAudioThumbnailCleared(long id, CancellationSignal signal)
        throws FileNotFoundException {
    final ContentResolver resolver = getContext().getContentResolver();

    Cursor cursor = null;
    try {
        cursor = resolver.query(Audio.Albums.EXTERNAL_CONTENT_URI,
        		AudioThumbnailQuery.PROJECTION, Audio.Albums._ID + "=" + id,
                null, null);
        if (cursor.moveToFirst()) {
            final String data = cursor.getString(AudioThumbnailQuery._DATA);
            return ParcelFileDescriptor.open(
                    new File(data), ParcelFileDescriptor.MODE_READ_ONLY);
        }
    } finally {
        IoUtils.closeQuietly(cursor);
    }
    return null;
}
 
源代码3 项目: FireFiles   文件: StorageProvider.java
protected ParcelFileDescriptor openAudioThumbnailCleared(long id, CancellationSignal signal)
        throws FileNotFoundException {
    final ContentResolver resolver = getContext().getContentResolver();

    Cursor cursor = null;
    try {
        cursor = resolver.query(Audio.Albums.EXTERNAL_CONTENT_URI,
        		AudioThumbnailQuery.PROJECTION, Audio.Albums._ID + "=" + id,
                null, null);
        if (cursor.moveToFirst()) {
            final String data = cursor.getString(AudioThumbnailQuery._DATA);
            return ParcelFileDescriptor.open(
                    new File(data), ParcelFileDescriptor.MODE_READ_ONLY);
        }
    } finally {
        IoUtils.closeQuietly(cursor);
    }
    return null;
}
 
private Cursor getQueryCursor(AsyncQueryHandler async, String filter) {
    if (filter == null) {
        filter = "";
    }
    String[] ccols = new String[] {
            BaseColumns._ID, Audio.Media.MIME_TYPE, Audio.Artists.ARTIST, Audio.Albums.ALBUM,
            Audio.Media.TITLE, "data1", "data2"
    };

    Uri search = Uri.parse("content://media/external/audio/search/fancy/" + Uri.encode(filter));

    Cursor ret = null;
    if (async != null) {
        async.startQuery(0, null, search, ccols, null, null, null);
    } else {
        ret = MusicUtils.query(this, search, ccols, null, null, null);
    }
    return ret;
}
 
源代码5 项目: mobile-manager-tool   文件: TracksBrowser.java
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
	if (Audio.Artists.CONTENT_TYPE.equals(mimeType)) {
		
    	menu.setHeaderTitle(R.string.image_edit_artists);
    	getMenuInflater().inflate(R.menu.music_context_artistimage, menu);
    	
    } else if (Audio.Albums.CONTENT_TYPE.equals(mimeType)) {
    	
    	menu.setHeaderTitle(R.string.image_edit_albums);
    	getMenuInflater().inflate(R.menu.music_context_albumimage, menu);
    	
    } else if (Playlists.CONTENT_TYPE.equals(mimeType)) {
    	menu.setHeaderTitle(R.string.image_edit_playlist);
    	getMenuInflater().inflate(R.menu.music_context_playlist_genreimage, menu);
    }
    else{
    	menu.setHeaderTitle(R.string.image_edit_genre);
    	getMenuInflater().inflate(R.menu.music_context_playlist_genreimage, menu);
    }
}
 
源代码6 项目: mobile-manager-tool   文件: TracksBrowser.java
public void onSearchWeb(){
	String query = "";
	if (Audio.Artists.CONTENT_TYPE.equals(mimeType)) {
		query = getArtist();
    } else if (Audio.Albums.CONTENT_TYPE.equals(mimeType)) {
    	query = getAlbum() + " " + getArtist();
    } else if (Playlists.CONTENT_TYPE.equals(mimeType)) {
    	query = bundle.getString(PLAYLIST_NAME);
    }
    else{
        Long id = bundle.getLong(BaseColumns._ID);
        query = MusicUtils.parseGenreName(this, MusicUtils.getGenreName(this, id, true));
    }
    final Intent googleSearch = new Intent(Intent.ACTION_WEB_SEARCH);
    googleSearch.putExtra(SearchManager.QUERY, query);
    startActivity(googleSearch);
}
 
源代码7 项目: mobile-manager-tool   文件: ApolloService.java
private boolean makeAutoShuffleList() {
    ContentResolver res = getContentResolver();
    Cursor c = null;
    try {
        c = res.query(Audio.Media.EXTERNAL_CONTENT_URI, new String[] {
            BaseColumns._ID
        }, AudioColumns.IS_MUSIC + "=1", null, null);
        if (c == null || c.getCount() == 0) {
            return false;
        }
        int len = c.getCount();
        long[] list = new long[len];
        for (int i = 0; i < len; i++) {
            c.moveToNext();
            list[i] = c.getLong(0);
        }
        mAutoShuffleList = list;
        return true;
    } catch (RuntimeException ex) {
    } finally {
        if (c != null) {
            c.close();
        }
    }
    return false;
}
 
源代码8 项目: mobile-manager-tool   文件: QuickQueueFragment.java
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
	String[] projection = new String[] {
            BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ALBUM, AudioColumns.ARTIST,
    };
    StringBuilder selection = new StringBuilder();
    Uri uri = Audio.Media.EXTERNAL_CONTENT_URI;
    String sortOrder = Audio.Media.DEFAULT_SORT_ORDER;
    uri = Audio.Media.EXTERNAL_CONTENT_URI;
    long[] mNowPlaying = MusicUtils.getQueue();
    if (mNowPlaying.length == 0)
        return null;
    selection = new StringBuilder();
    selection.append(BaseColumns._ID + " IN (");
    if (mNowPlaying == null || mNowPlaying.length <= 0)
        return null;
    for (long queue_id : mNowPlaying) {
        selection.append(queue_id + ",");
    }
    selection.deleteCharAt(selection.length() - 1);
    selection.append(")");
	
    return new AddIdCursorLoader(getActivity(), uri, projection, selection.toString(), null,
            sortOrder);
}
 
源代码9 项目: mobile-manager-tool   文件: QuickQueueFragment.java
/**
 * Reload the queue after we remove a track
 */
private void reloadQueueCursor() {
    String[] projection = new String[] {
            BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ALBUM, AudioColumns.ARTIST,
    };
    StringBuilder selection = new StringBuilder();
    Uri uri = Audio.Media.EXTERNAL_CONTENT_URI;
    String sortOrder = Audio.Media.DEFAULT_SORT_ORDER;
    uri = Audio.Media.EXTERNAL_CONTENT_URI;
    long[] mNowPlaying = MusicUtils.getQueue();
    if (mNowPlaying.length == 0)
        return;
    selection = new StringBuilder();
    selection.append(BaseColumns._ID + " IN (");
    if (mNowPlaying == null || mNowPlaying.length <= 0)
        return;
    for (long queue_id : mNowPlaying) {
        selection.append(queue_id + ",");
    }
    selection.deleteCharAt(selection.length() - 1);
    selection.append(")");

    mCursor = MusicUtils.query(getActivity(), uri, projection, selection.toString(), null,
            sortOrder);
    mQuickQueueAdapter.changeCursor(mCursor);
}
 
源代码10 项目: mobile-manager-tool   文件: AlbumListFragment.java
@Override
public void setupFragmentData() {
       mAdapter = new AlbumListAdapter(getActivity(), R.layout.music_listview_items, null,
               								new String[] {}, new int[] {}, 0);
   	mProjection = new String[] {
               BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ALBUM, AudioColumns.ARTIST
       };
       StringBuilder where = new StringBuilder();
       where.append(AudioColumns.IS_MUSIC + "=1")
       					.append(" AND " + MediaColumns.TITLE + " != ''");
       long albumId = getArguments().getLong(BaseColumns._ID);
       where.append(" AND " + AudioColumns.ALBUM_ID + "=" + albumId);
       mWhere = where.toString();        
       mSortOrder = Audio.Media.TRACK + ", " + Audio.Media.DEFAULT_SORT_ORDER;
       mUri = Audio.Media.EXTERNAL_CONTENT_URI;
       mFragmentGroupId = 89;
       mType = TYPE_ALBUM;
       mTitleColumn = MediaColumns.TITLE; 
}
 
public void setupFragmentData(){
    mAdapter = new RecentlyAddedAdapter(getActivity(), R.layout.music_listview_items,
            null, new String[] {}, new int[] {}, 0);
	mProjection = new String[] {
            BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ALBUM, AudioColumns.ARTIST
    };
    StringBuilder where = new StringBuilder();
    int X = MusicUtils.getIntPref(getActivity(), NUMWEEKS, 5) * 3600 * 24 * 7;
    where.append(MediaColumns.TITLE + " != ''");
    where.append(" AND " + AudioColumns.IS_MUSIC + "=1");
    where.append(" AND " + MediaColumns.DATE_ADDED + ">"
            + (System.currentTimeMillis() / 1000 - X));
    mWhere = where.toString();
    mSortOrder = MediaColumns.DATE_ADDED + " DESC";
    mUri = Audio.Media.EXTERNAL_CONTENT_URI;
    mTitleColumn = MediaColumns.TITLE;       
}
 
源代码12 项目: mobile-manager-tool   文件: ArtistListFragment.java
@Override
public void setupFragmentData(){
    mAdapter = new ArtistListAdapter(getActivity(), R.layout.music_listview_items, null,
            								new String[] {}, new int[] {}, 0);
	mProjection = new String[] {
            BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ALBUM, AudioColumns.ARTIST
    };
    StringBuilder where = new StringBuilder();
    where.append(AudioColumns.IS_MUSIC + "=1")
    					.append(" AND " + MediaColumns.TITLE + " != ''");
    long artist_id = getArguments().getLong(BaseColumns._ID);
    where.append(" AND " + AudioColumns.ARTIST_ID + "=" + artist_id);
    mWhere = where.toString();        
    mSortOrder = MediaColumns.TITLE;
    mUri = Audio.Media.EXTERNAL_CONTENT_URI;
    mFragmentGroupId = 88;
    mType = TYPE_ARTIST;
    mTitleColumn = MediaColumns.TITLE; 
}
 
源代码13 项目: mobile-manager-tool   文件: PlaylistDialog.java
private int idForplaylist(String name) {

        Cursor cursor = MusicUtils.query(this, Audio.Playlists.EXTERNAL_CONTENT_URI, new String[] {
            Audio.Playlists._ID
        }, Audio.Playlists.NAME + "=?", new String[] {
            name
        }, Audio.Playlists.NAME, 0);
        int id = -1;
        if (cursor != null) {
            cursor.moveToFirst();
            if (!cursor.isAfterLast()) {
                id = cursor.getInt(0);
            }
            cursor.close();
        }

        return id;
    }
 
源代码14 项目: mobile-manager-tool   文件: PlaylistDialog.java
private String nameForId(long id) {

        Cursor cursor = MusicUtils.query(this, Audio.Playlists.EXTERNAL_CONTENT_URI, new String[] {
            Audio.Playlists.NAME
        }, Audio.Playlists._ID + "=?", new String[] {
            Long.valueOf(id).toString()
        }, Audio.Playlists.NAME);
        String name = null;
        if (cursor != null) {
            cursor.moveToFirst();
            if (!cursor.isAfterLast()) {
                name = cursor.getString(0);
            }
            cursor.close();
        }
        return name;
    }
 
源代码15 项目: FireFiles   文件: MediaDocumentsProvider.java
private Uri getUriForDocumentId(String docId) {
    final Ident ident = getIdentForDocId(docId);
    if (TYPE_IMAGE.equals(ident.type) && ident.id != -1) {
        return ContentUris.withAppendedId(
                Images.Media.EXTERNAL_CONTENT_URI, ident.id);
    } else if (TYPE_VIDEO.equals(ident.type) && ident.id != -1) {
        return ContentUris.withAppendedId(
                Video.Media.EXTERNAL_CONTENT_URI, ident.id);
    } else if (TYPE_AUDIO.equals(ident.type) && ident.id != -1) {
        return ContentUris.withAppendedId(
                Audio.Media.EXTERNAL_CONTENT_URI, ident.id);
    } else {
        throw new UnsupportedOperationException("Unsupported document " + docId);
    }
}
 
源代码16 项目: FireFiles   文件: MediaDocumentsProvider.java
private void includeAudioRoot(MatrixCursor result) {
    int flags = Root.FLAG_LOCAL_ONLY;
    if (isEmpty(Audio.Media.EXTERNAL_CONTENT_URI)) {
        flags |= Root.FLAG_EMPTY;
        sReturnedAudioEmpty = true;
    }

    final RowBuilder row = result.newRow();
    row.add(Root.COLUMN_ROOT_ID, TYPE_AUDIO_ROOT);
    row.add(Root.COLUMN_FLAGS, flags);
    row.add(Root.COLUMN_TITLE, getContext().getString(R.string.root_audio));
    row.add(Root.COLUMN_DOCUMENT_ID, TYPE_AUDIO_ROOT);
    row.add(Root.COLUMN_MIME_TYPES, AUDIO_MIME_TYPES);
}
 
源代码17 项目: FireFiles   文件: StorageProvider.java
protected long getAlbumForPathCleared(String path) throws FileNotFoundException {
    final ContentResolver resolver = getContext().getContentResolver();
    Cursor cursor = null;
    try {
        cursor = resolver.query(Audio.Media.EXTERNAL_CONTENT_URI,
        		AudioAlbumThumbnailQuery.PROJECTION, Audio.Media.DATA + " LIKE ?",
        		new String[] { path.replaceAll("'", "''") }, Audio.Media.DATE_MODIFIED + " DESC");
        if (cursor.moveToFirst()) {
            return cursor.getLong(AudioAlbumThumbnailQuery.ALBUM_ID);
        }
    } finally {
        IoUtils.closeQuietly(cursor);
    }
    throw new FileNotFoundException("No Audio found for album");
}
 
源代码18 项目: FireFiles   文件: StorageProvider.java
protected long getAlbumForAudioCleared(long album) throws FileNotFoundException {
    final ContentResolver resolver = getContext().getContentResolver();
    Cursor cursor = null;
    try {
        cursor = resolver.query(Audio.Media.EXTERNAL_CONTENT_URI,
        		AudioAlbumThumbnailQuery.PROJECTION, AudioColumns._ID + "=" + album,
                null, AudioColumns.DATE_MODIFIED + " DESC");
        if (cursor.moveToFirst()) {
            return cursor.getLong(AudioAlbumThumbnailQuery.ALBUM_ID);
        }
    } finally {
        IoUtils.closeQuietly(cursor);
    }
    throw new FileNotFoundException("No Audio found for album");
}
 
源代码19 项目: FireFiles   文件: MediaDocumentsProvider.java
private Uri getUriForDocumentId(String docId) {
    final Ident ident = getIdentForDocId(docId);
    if (TYPE_IMAGE.equals(ident.type) && ident.id != -1) {
        return ContentUris.withAppendedId(
                Images.Media.EXTERNAL_CONTENT_URI, ident.id);
    } else if (TYPE_VIDEO.equals(ident.type) && ident.id != -1) {
        return ContentUris.withAppendedId(
                Video.Media.EXTERNAL_CONTENT_URI, ident.id);
    } else if (TYPE_AUDIO.equals(ident.type) && ident.id != -1) {
        return ContentUris.withAppendedId(
                Audio.Media.EXTERNAL_CONTENT_URI, ident.id);
    } else {
        throw new UnsupportedOperationException("Unsupported document " + docId);
    }
}
 
源代码20 项目: FireFiles   文件: MediaDocumentsProvider.java
private void includeAudioRoot(MatrixCursor result) {
    int flags = Root.FLAG_LOCAL_ONLY;
    if (isEmpty(Audio.Media.EXTERNAL_CONTENT_URI)) {
        flags |= Root.FLAG_EMPTY;
        sReturnedAudioEmpty = true;
    }

    final RowBuilder row = result.newRow();
    row.add(Root.COLUMN_ROOT_ID, TYPE_AUDIO_ROOT);
    row.add(Root.COLUMN_FLAGS, flags);
    row.add(Root.COLUMN_TITLE, getContext().getString(R.string.root_audio));
    row.add(Root.COLUMN_DOCUMENT_ID, TYPE_AUDIO_ROOT);
    row.add(Root.COLUMN_MIME_TYPES, AUDIO_MIME_TYPES);
}
 
源代码21 项目: FireFiles   文件: StorageProvider.java
protected long getAlbumForPathCleared(String path) throws FileNotFoundException {
    final ContentResolver resolver = getContext().getContentResolver();
    Cursor cursor = null;
    try {
        cursor = resolver.query(Audio.Media.EXTERNAL_CONTENT_URI,
        		AudioAlbumThumbnailQuery.PROJECTION, Audio.Media.DATA + " LIKE ?",
        		new String[] { path.replaceAll("'", "''") }, Audio.Media.DATE_MODIFIED + " DESC");
        if (cursor.moveToFirst()) {
            return cursor.getLong(AudioAlbumThumbnailQuery.ALBUM_ID);
        }
    } finally {
        IoUtils.closeQuietly(cursor);
    }
    throw new FileNotFoundException("No Audio found for album");
}
 
源代码22 项目: FireFiles   文件: StorageProvider.java
protected long getAlbumForAudioCleared(long album) throws FileNotFoundException {
    final ContentResolver resolver = getContext().getContentResolver();
    Cursor cursor = null;
    try {
        cursor = resolver.query(Audio.Media.EXTERNAL_CONTENT_URI,
        		AudioAlbumThumbnailQuery.PROJECTION, AudioColumns._ID + "=" + album,
                null, AudioColumns.DATE_MODIFIED + " DESC");
        if (cursor.moveToFirst()) {
            return cursor.getLong(AudioAlbumThumbnailQuery.ALBUM_ID);
        }
    } finally {
        IoUtils.closeQuietly(cursor);
    }
    throw new FileNotFoundException("No Audio found for album");
}
 
源代码23 项目: FireFiles   文件: MediaDocumentsProvider.java
private Uri getUriForDocumentId(String docId) {
    final Ident ident = getIdentForDocId(docId);
    if (TYPE_IMAGE.equals(ident.type) && ident.id != -1) {
        return ContentUris.withAppendedId(
                Images.Media.EXTERNAL_CONTENT_URI, ident.id);
    } else if (TYPE_VIDEO.equals(ident.type) && ident.id != -1) {
        return ContentUris.withAppendedId(
                Video.Media.EXTERNAL_CONTENT_URI, ident.id);
    } else if (TYPE_AUDIO.equals(ident.type) && ident.id != -1) {
        return ContentUris.withAppendedId(
                Audio.Media.EXTERNAL_CONTENT_URI, ident.id);
    } else {
        throw new UnsupportedOperationException("Unsupported document " + docId);
    }
}
 
源代码24 项目: FireFiles   文件: MediaDocumentsProvider.java
private void includeAudioRoot(MatrixCursor result) {
    int flags = Root.FLAG_LOCAL_ONLY;
    if (isEmpty(Audio.Media.EXTERNAL_CONTENT_URI)) {
        flags |= Root.FLAG_EMPTY;
        sReturnedAudioEmpty = true;
    }

    final RowBuilder row = result.newRow();
    row.add(Root.COLUMN_ROOT_ID, TYPE_AUDIO_ROOT);
    row.add(Root.COLUMN_FLAGS, flags);
    row.add(Root.COLUMN_TITLE, getContext().getString(R.string.root_audio));
    row.add(Root.COLUMN_DOCUMENT_ID, TYPE_AUDIO_ROOT);
    row.add(Root.COLUMN_MIME_TYPES, AUDIO_MIME_TYPES);
}
 
源代码25 项目: FireFiles   文件: StorageProvider.java
protected long getAlbumForPathCleared(String path) throws FileNotFoundException {
    final ContentResolver resolver = getContext().getContentResolver();
    Cursor cursor = null;
    try {
        cursor = resolver.query(Audio.Media.EXTERNAL_CONTENT_URI,
        		AudioAlbumThumbnailQuery.PROJECTION, Audio.Media.DATA + " LIKE ?",
        		new String[] { path.replaceAll("'", "''") }, Audio.Media.DATE_MODIFIED + " DESC");
        if (cursor.moveToFirst()) {
            return cursor.getLong(AudioAlbumThumbnailQuery.ALBUM_ID);
        }
    } finally {
        IoUtils.closeQuietly(cursor);
    }
    throw new FileNotFoundException("No Audio found for album");
}
 
源代码26 项目: FireFiles   文件: StorageProvider.java
protected long getAlbumForAudioCleared(long album) throws FileNotFoundException {
    final ContentResolver resolver = getContext().getContentResolver();
    Cursor cursor = null;
    try {
        cursor = resolver.query(Audio.Media.EXTERNAL_CONTENT_URI,
        		AudioAlbumThumbnailQuery.PROJECTION, AudioColumns._ID + "=" + album,
                null, AudioColumns.DATE_MODIFIED + " DESC");
        if (cursor.moveToFirst()) {
            return cursor.getLong(AudioAlbumThumbnailQuery.ALBUM_ID);
        }
    } finally {
        IoUtils.closeQuietly(cursor);
    }
    throw new FileNotFoundException("No Audio found for album");
}
 
源代码27 项目: mobile-manager-tool   文件: ApolloUtils.java
/**
 * Sets the ListView paddingLeft for the header
 * 
 * @param fragment
 * @param mListView
 */
public static void setListPadding(Fragment fragment, ListView mListView, int left, int top,
        int right, int bottom) {
    if (fragment.getArguments() != null) {
        String mimetype = fragment.getArguments().getString(MIME_TYPE);
        if (Audio.Albums.CONTENT_TYPE.equals(mimetype)) {
            mListView.setPadding(AQUtility.dip2pixel(fragment.getActivity(), left), top,
                    AQUtility.dip2pixel(fragment.getActivity(), right), bottom);
        } else if (Audio.Artists.CONTENT_TYPE.equals(mimetype)) {
            mListView.setPadding(AQUtility.dip2pixel(fragment.getActivity(), left), top,
                    AQUtility.dip2pixel(fragment.getActivity(), right), bottom);
        }
    }
}
 
源代码28 项目: mobile-manager-tool   文件: AddIdCursorLoader.java
@Override
  public Cursor loadInBackground() {

      Cursor mediaCursor = getContext().getContentResolver().query(mUri, mProjection, mSelection,
              mSelectionArgs, mSortOrder);
      //Get cursor filled with Audio Id's
      String [] projection =  new String[] {
              BaseColumns._ID, AlbumColumns.ALBUM
      };
      Uri uri = Audio.Albums.EXTERNAL_CONTENT_URI;
      String sortOrder = Audio.Albums.DEFAULT_SORT_ORDER;
      Cursor albumCursor = getContext().getContentResolver().query(uri, projection, null, null, sortOrder);

      //Matrix cursor to hold final data to be returned to calling context
      MatrixCursor cursor = new MatrixCursor( new String[]
      		{ BaseColumns._ID, MediaColumns.TITLE, AudioColumns.ARTIST, AudioColumns.ALBUM, AudioColumns.ALBUM_ID});
      //Map data from Audio Id cursor to the ALbumName Colum
      ContentQueryMap mQueryMap = new ContentQueryMap(albumCursor, AlbumColumns.ALBUM, false, null);

Map<String, ContentValues> data = mQueryMap.getRows();
      if (mediaCursor != null) {
          while(mediaCursor.moveToNext()) {
		String id = mediaCursor.getString(mediaCursor.getColumnIndexOrThrow(BaseColumns._ID));
		String title = mediaCursor.getString(mediaCursor.getColumnIndexOrThrow(MediaColumns.TITLE));
		String artist = mediaCursor.getString(mediaCursor.getColumnIndexOrThrow(AudioColumns.ARTIST));
		String album = mediaCursor.getString(mediaCursor.getColumnIndexOrThrow(AudioColumns.ALBUM));

		ContentValues tData = data.get(album);
		String albumid = (String) tData.get(BaseColumns._ID);
		cursor.addRow(new String[] {id, title, artist, album, albumid});
          }
          mediaCursor.close();
      }

      if (cursor != null) {
          // Ensure the cursor window is filled
          registerContentObserver(cursor, mObserver);
      }
      return cursor;
  }
 
源代码29 项目: mobile-manager-tool   文件: MusicLibrary.java
/**
 * Shuffle all the tracks
 */
public void shuffleAll() {
    Uri uri = Audio.Media.EXTERNAL_CONTENT_URI;
    String[] projection = new String[] {
        BaseColumns._ID
    };
    String selection = AudioColumns.IS_MUSIC + "=1";
    String sortOrder = "RANDOM()";
    Cursor cursor = MusicUtils.query(this, uri, projection, selection, null, sortOrder);
    if (cursor != null) {
        MusicUtils.shuffleAll(this, cursor);
        cursor.close();
        cursor = null;
    }
}
 
源代码30 项目: mobile-manager-tool   文件: QuickQueue.java
@Override
protected void onCreate(Bundle icicle) {
    // This needs to be called first
    super.onCreate(icicle);

    // Control Media volume
    setVolumeControlStream(AudioManager.STREAM_MUSIC);

    Bundle bundle = new Bundle();
    bundle.putString(MIME_TYPE, Audio.Playlists.CONTENT_TYPE);
    bundle.putLong(BaseColumns._ID, PLAYLIST_QUEUE);
    getSupportFragmentManager().beginTransaction()
            .replace(android.R.id.content, new QuickQueueFragment(bundle)).commit();
}
 
 类所在包
 类方法
 同包方法