Java 类android.media.browse.MediaBrowser 实例源码

项目:MrinalMusicPlayer    文件:TvVerticalGridFragment.java   
protected void setMediaId(String mediaId) {
    LogHelper.d(TAG, "setMediaId: ", mediaId);
    if (TextUtils.equals(mMediaId, mediaId)) {
        return;
    }
    MediaBrowser mediaBrowser = mMediaFragmentListener.getMediaBrowser();

    // First, unsubscribe from old mediaId:
    if (mMediaId != null) {
        mediaBrowser.unsubscribe(mMediaId);
    }
    if (mediaId == null) {
        mediaId = mediaBrowser.getRoot();
    }
    mMediaId = mediaId;
    mediaBrowser.subscribe(mMediaId, mSubscriptionCallback);
}
项目:MrinalMusicPlayer    文件:MediaBrowserFragment.java   
@Override
public void onChildrenLoaded(@NonNull String parentId,
                             @NonNull List<MediaBrowser.MediaItem> children) {
    try {
        LogHelper.d(TAG, "fragment onChildrenLoaded, parentId=" + parentId +
            "  count=" + children.size());
        checkForUserVisibleErrors(children.isEmpty());
        mBrowserAdapter.clear();
        for (MediaBrowser.MediaItem item : children) {
            mBrowserAdapter.add(item);
        }
        mBrowserAdapter.notifyDataSetChanged();
    } catch (Throwable t) {
        LogHelper.e(TAG, "Error on childrenloaded", t);
    }
}
项目:MrinalMusicPlayer    文件:MediaBrowserFragment.java   
@Override
public void onStart() {
    super.onStart();

    // fetch browsing information to fill the listview:
    MediaBrowser mediaBrowser = mMediaFragmentListener.getMediaBrowser();

    LogHelper.d(TAG, "fragment.onStart, mediaId=", mMediaId,
            "  onConnected=" + mediaBrowser.isConnected());

    if (mediaBrowser.isConnected()) {
        onConnected();
    }

    // Registers BroadcastReceiver to track network connection changes.
    this.getActivity().registerReceiver(mConnectivityChangeReceiver,
        new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
}
项目:MrinalMusicPlayer    文件:MediaBrowserFragment.java   
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    MediaBrowser.MediaItem item = getItem(position);
    int itemState = MediaItemViewHolder.STATE_NONE;
    if (item.isPlayable()) {
        itemState = MediaItemViewHolder.STATE_PLAYABLE;
        MediaController controller = ((Activity) getContext()).getMediaController();
        if (controller != null && controller.getMetadata() != null) {
            String currentPlaying = controller.getMetadata().getDescription().getMediaId();
            String musicId = MediaIDHelper.extractMusicIDFromMediaID(
                    item.getDescription().getMediaId());
            if (currentPlaying != null && currentPlaying.equals(musicId)) {
                PlaybackState pbState = controller.getPlaybackState();
                if (pbState == null || pbState.getState() == PlaybackState.STATE_ERROR) {
                    itemState = MediaItemViewHolder.STATE_NONE;
                } else if (pbState.getState() == PlaybackState.STATE_PLAYING) {
                    itemState = MediaItemViewHolder.STATE_PLAYING;
                } else {
                    itemState = MediaItemViewHolder.STATE_PAUSED;
                }
            }
        }
    }
    return MediaItemViewHolder.setupView((Activity) getContext(), convertView, parent,
        item.getDescription(), itemState);
}
项目:MrinalMusicPlayer    文件:BaseActivity.java   
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    LogHelper.d(TAG, "Activity onCreate");

    // Since our app icon has the same color as colorPrimary, our entry in the Recent Apps
    // list gets weird. We need to change either the icon or the color of the TaskDescription.
    ActivityManager.TaskDescription taskDesc = new ActivityManager.TaskDescription(
        getTitle().toString(),
        BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher_white),
        ResourceHelper.getThemeColor(this, R.attr.colorPrimary, android.R.color.darker_gray));
    setTaskDescription(taskDesc);

    // Connect a media browser just to get the media session token. There are other ways
    // this can be done, for example by sharing the session token directly.
    mMediaBrowser = new MediaBrowser(this,
        new ComponentName(this, MusicService.class), mConnectionCallback, null);
}
项目:android-music-player    文件:MusicPlayerActivity.java   
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    MediaBrowser.MediaItem item = getItem(position);
    int itemState = MediaItemViewHolder.STATE_NONE;
    if (item.isPlayable()) {
        String itemMediaId = item.getDescription().getMediaId();
        int playbackState = PlaybackState.STATE_NONE;
        if (mCurrentState != null) {
            playbackState = mCurrentState.getState();
        }
        if (mCurrentMetadata != null &&
                itemMediaId.equals(mCurrentMetadata.getDescription().getMediaId())) {
            if (playbackState == PlaybackState.STATE_PLAYING ||
                playbackState == PlaybackState.STATE_BUFFERING) {
                itemState = MediaItemViewHolder.STATE_PLAYING;
            } else if (playbackState != PlaybackState.STATE_ERROR) {
                itemState = MediaItemViewHolder.STATE_PAUSED;
            }
        }
    }
    return MediaItemViewHolder.setupView((Activity) getContext(), convertView, parent,
        item.getDescription(), itemState);
}
项目:android-music-player    文件:MusicPlayerActivity.java   
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    MediaBrowser.MediaItem item = getItem(position);
    int itemState = MediaItemViewHolder.STATE_NONE;
    if (item.isPlayable()) {
        String itemMediaId = item.getDescription().getMediaId();
        int playbackState = PlaybackState.STATE_NONE;
        if (mCurrentState != null) {
            playbackState = mCurrentState.getState();
        }
        if (mCurrentMetadata != null &&
                itemMediaId.equals(mCurrentMetadata.getDescription().getMediaId())) {
            if (playbackState == PlaybackState.STATE_PLAYING ||
                playbackState == PlaybackState.STATE_BUFFERING) {
                itemState = MediaItemViewHolder.STATE_PLAYING;
            } else if (playbackState != PlaybackState.STATE_ERROR) {
                itemState = MediaItemViewHolder.STATE_PAUSED;
            }
        }
    }
    return MediaItemViewHolder.setupView((Activity) getContext(), convertView, parent,
        item.getDescription(), itemState);
}
项目:UniversalMusicPlayer    文件:MediaBrowserFragment.java   
@Override
public void onStart() {
    super.onStart();

    // fetch browsing information to fill the listview:
    MediaBrowser mediaBrowser = mMediaFragmentListener.getMediaBrowser();

    LogHelper.d(TAG, "fragment.onStart, mediaId=", mMediaId,
            "  onConnected=" + mediaBrowser.isConnected());

    if (mediaBrowser.isConnected()) {
        onConnected();
    }

    // Registers BroadcastReceiver to track network connection changes.
    this.getActivity().registerReceiver(mConnectivityChangeReceiver,
        new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
}
项目:UniversalMusicPlayer    文件:MediaBrowserFragment.java   
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    MediaBrowser.MediaItem item = getItem(position);
    int state = MediaItemViewHolder.STATE_NONE;
    if (item.isPlayable()) {
        state = MediaItemViewHolder.STATE_PLAYABLE;
        MediaController controller = ((Activity) getContext()).getMediaController();
        if (controller != null && controller.getMetadata() != null) {
            String currentPlaying = controller.getMetadata().getDescription().getMediaId();
            String musicId = MediaIDHelper.extractMusicIDFromMediaID(
                    item.getDescription().getMediaId());
            if (currentPlaying != null && currentPlaying.equals(musicId)) {
                if (controller.getPlaybackState().getState() ==
                        PlaybackState.STATE_PLAYING) {
                    state = MediaItemViewHolder.STATE_PLAYING;
                } else if (controller.getPlaybackState().getState() !=
                        PlaybackState.STATE_ERROR) {
                    state = MediaItemViewHolder.STATE_PAUSED;
                }
            }
        }
    }
    return MediaItemViewHolder.setupView((Activity) getContext(), convertView, parent,
        item.getDescription(), state);
}
项目:UniversalMusicPlayer    文件:BaseActivity.java   
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    LogHelper.d(TAG, "Activity onCreate");

    // Since our app icon has the same color as colorPrimary, our entry in the Recent Apps
    // list gets weird. We need to change either the icon or the color of the TaskDescription.
    ActivityManager.TaskDescription taskDesc = new ActivityManager.TaskDescription(
        getTitle().toString(),
        BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher_white),
        ResourceHelper.getThemeColor(this, R.attr.colorPrimary, android.R.color.darker_gray));
    setTaskDescription(taskDesc);

    // Connect a media browser just to get the media session token. There are other ways
    // this can be done, for example by sharing the session token directly.
    mMediaBrowser = new MediaBrowser(this,
        new ComponentName(this, MusicService.class), mConnectionCallback, null);
}
项目:MusicFromChina    文件:MediaBrowserFragment.java   
@Override
public void onStart() {
    super.onStart();

    // fetch browsing information to fill the listview:
    MediaBrowser mediaBrowser = mMediaFragmentListener.getMediaBrowser();

    LogHelper.d(TAG, "fragment.onStart, mediaId=", mMediaId,
            "  onConnected=" + mediaBrowser.isConnected());

    if (mediaBrowser.isConnected()) {
        onConnected();
    }

    // Registers BroadcastReceiver to track network connection changes.
    this.getActivity().registerReceiver(mConnectivityChangeReceiver,
        new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
}
项目:MusicFromChina    文件:MediaBrowserFragment.java   
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    MediaBrowser.MediaItem item = getItem(position);
    int state = MediaItemViewHolder.STATE_NONE;
    if (item.isPlayable()) {
        state = MediaItemViewHolder.STATE_PLAYABLE;
        MediaController controller = ((Activity) getContext()).getMediaController();
        if (controller != null && controller.getMetadata() != null) {
            String currentPlaying = controller.getMetadata().getDescription().getMediaId();
            String musicId = MediaIDHelper.extractMusicIDFromMediaID(
                    item.getDescription().getMediaId());
            if (currentPlaying != null && currentPlaying.equals(musicId)) {
                if (controller.getPlaybackState().getState() ==
                        PlaybackState.STATE_PLAYING) {
                    state = MediaItemViewHolder.STATE_PLAYING;
                } else if (controller.getPlaybackState().getState() !=
                        PlaybackState.STATE_ERROR) {
                    state = MediaItemViewHolder.STATE_PAUSED;
                }
            }
        }
    }
    return MediaItemViewHolder.setupView((Activity) getContext(), convertView, parent,
        item.getDescription(), state);
}
项目:MusicFromChina    文件:BaseActivity.java   
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    LogHelper.d(TAG, "Activity onCreate");

    // Since our app icon has the same color as colorPrimary, our entry in the Recent Apps
    // list gets weird. We need to change either the icon or the color of the TaskDescription.
    ActivityManager.TaskDescription taskDesc = new ActivityManager.TaskDescription(
        getTitle().toString(),
        BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher_white),
        ResourceHelper.getThemeColor(this, R.attr.colorPrimary, android.R.color.darker_gray));
    setTaskDescription(taskDesc);

    // Connect a media browser just to get the media session token. There are other ways
    // this can be done, for example by sharing the session token directly.
    mMediaBrowser = new MediaBrowser(this,
        new ComponentName(this, MusicService.class), mConnectionCallback, null);
}
项目:Popeens-DSub    文件:AutoMediaBrowserService.java   
private void getAlbumLists(Result<List<MediaBrowser.MediaItem>> result) {
    List<Integer> albums = new ArrayList<>();
    albums.add(R.string.main_albums_newest);
    albums.add(R.string.main_albums_random);

    if(!Util.isTagBrowsing(downloadService)) {
        albums.add(R.string.main_albums_highest);
    }
    albums.add(R.string.main_albums_starred);
    albums.add(R.string.main_albums_recent);
    albums.add(R.string.main_albums_frequent);

    List<MediaBrowser.MediaItem> mediaItems = new ArrayList<>();

    for(Integer id: albums) {
        MediaDescription description = new MediaDescription.Builder()
                .setTitle(downloadService.getResources().getString(id))
                .setMediaId(ALBUM_TYPE_PREFIX + id)
                .build();

        mediaItems.add(new MediaBrowser.MediaItem(description, MediaBrowser.MediaItem.FLAG_BROWSABLE));
    }

    result.sendResult(mediaItems);
}
项目:Popeens-DSub    文件:AutoMediaBrowserService.java   
private void getLibrary(final Result<List<MediaBrowser.MediaItem>> result) {
    new SilentServiceTask<List<MusicFolder>>(downloadService) {
        @Override
        protected List<MusicFolder> doInBackground(MusicService musicService) throws Throwable {
            return musicService.getMusicFolders(false, downloadService, null);
        }

        @Override
        protected void done(List<MusicFolder> folders) {
            List<MediaBrowser.MediaItem> mediaItems = new ArrayList<>();

            for(MusicFolder folder: folders) {
                MediaDescription description = new MediaDescription.Builder()
                        .setTitle(folder.getName())
                        .setMediaId(MUSIC_FOLDER_PREFIX + folder.getId())
                        .build();

                mediaItems.add(new MediaBrowser.MediaItem(description, MediaBrowser.MediaItem.FLAG_BROWSABLE));
            }

            result.sendResult(mediaItems);
        }
    }.execute();

    result.detach();
}
项目:Popeens-DSub    文件:AutoMediaBrowserService.java   
private void getPlaylists(final Result<List<MediaBrowser.MediaItem>> result) {
    new SilentServiceTask<List<Playlist>>(downloadService) {
        @Override
        protected List<Playlist> doInBackground(MusicService musicService) throws Throwable {
            return musicService.getPlaylists(false, downloadService, null);
        }

        @Override
        protected void done(List<Playlist> playlists) {
            List<MediaBrowser.MediaItem> mediaItems = new ArrayList<>();

            for(Playlist playlist: playlists) {
                MediaDescription description = new MediaDescription.Builder()
                        .setTitle(playlist.getName())
                        .setMediaId(PLAYLIST_PREFIX + playlist.getId())
                        .build();

                mediaItems.add(new MediaBrowser.MediaItem(description, MediaBrowser.MediaItem.FLAG_BROWSABLE));
            }

            result.sendResult(mediaItems);
        }
    }.execute();

    result.detach();
}
项目:Popeens-DSub    文件:AutoMediaBrowserService.java   
private void getPodcasts(final Result<List<MediaBrowser.MediaItem>> result) {
    new SilentServiceTask<List<PodcastChannel>>(downloadService) {
        @Override
        protected List<PodcastChannel> doInBackground(MusicService musicService) throws Throwable {
            return musicService.getPodcastChannels(false, downloadService, null);
        }

        @Override
        protected void done(List<PodcastChannel> podcasts) {
            List<MediaBrowser.MediaItem> mediaItems = new ArrayList<>();

            for(PodcastChannel podcast: podcasts) {
                MediaDescription description = new MediaDescription.Builder()
                        .setTitle(podcast.getName())
                        .setMediaId(PODCAST_PREFIX + podcast.getId())
                        .build();

                mediaItems.add(new MediaBrowser.MediaItem(description, MediaBrowser.MediaItem.FLAG_BROWSABLE));
            }

            result.sendResult(mediaItems);
        }
    }.execute();

    result.detach();
}
项目:io2015-codelabs    文件:MusicPlayerActivity.java   
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    MediaBrowser.MediaItem item = getItem(position);
    int itemState = MediaItemViewHolder.STATE_NONE;
    if (item.isPlayable()) {
        String itemMediaId = item.getDescription().getMediaId();
        int playbackState = PlaybackState.STATE_NONE;
        if (mCurrentState != null) {
            playbackState = mCurrentState.getState();
        }
        if (mCurrentMetadata != null &&
                itemMediaId.equals(mCurrentMetadata.getDescription().getMediaId())) {
            if (playbackState == PlaybackState.STATE_PLAYING ||
                playbackState == PlaybackState.STATE_BUFFERING) {
                itemState = MediaItemViewHolder.STATE_PLAYING;
            } else if (playbackState != PlaybackState.STATE_ERROR) {
                itemState = MediaItemViewHolder.STATE_PAUSED;
            }
        }
    }
    return MediaItemViewHolder.setupView((Activity) getContext(), convertView, parent,
        item.getDescription(), itemState);
}
项目:io2015-codelabs    文件:MusicPlayerActivity.java   
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    MediaBrowser.MediaItem item = getItem(position);
    int itemState = MediaItemViewHolder.STATE_NONE;
    if (item.isPlayable()) {
        String itemMediaId = item.getDescription().getMediaId();
        int playbackState = PlaybackState.STATE_NONE;
        if (mCurrentState != null) {
            playbackState = mCurrentState.getState();
        }
        if (mCurrentMetadata != null &&
                itemMediaId.equals(mCurrentMetadata.getDescription().getMediaId())) {
            if (playbackState == PlaybackState.STATE_PLAYING ||
                playbackState == PlaybackState.STATE_BUFFERING) {
                itemState = MediaItemViewHolder.STATE_PLAYING;
            } else if (playbackState != PlaybackState.STATE_ERROR) {
                itemState = MediaItemViewHolder.STATE_PAUSED;
            }
        }
    }
    return MediaItemViewHolder.setupView((Activity) getContext(), convertView, parent,
        item.getDescription(), itemState);
}
项目:AndroidDemoProjects    文件:AutoMediaBrowserService.java   
private MediaBrowser.MediaItem generatePlayableMediaItem( Song song ) {
    if( song == null )
        return null;

    MediaDescription.Builder mediaDescriptionBuilder = new MediaDescription.Builder();
    mediaDescriptionBuilder.setMediaId( song.getuId() );

    if( !TextUtils.isEmpty( song.getTitle() ) )
        mediaDescriptionBuilder.setTitle( song.getTitle() );

    if( !TextUtils.isEmpty( song.getArtist() ) )
        mediaDescriptionBuilder.setSubtitle( song.getArtist() );

    if( !TextUtils.isEmpty( song.getThumbnailUrl() ) )
        mediaDescriptionBuilder.setIconUri( Uri.parse( song.getThumbnailUrl() ) );

    return new MediaBrowser.MediaItem( mediaDescriptionBuilder.build(), MediaBrowser.MediaItem.FLAG_PLAYABLE );
}
项目:UniversalAndroidMusicPlayer    文件:TvVerticalGridFragment.java   
protected void setMediaId(String mediaId) {
    LogHelper.d(TAG, "setMediaId: ", mediaId);
    if (TextUtils.equals(mMediaId, mediaId)) {
        return;
    }
    MediaBrowser mediaBrowser = mMediaFragmentListener.getMediaBrowser();

    // First, unsubscribe from old mediaId:
    if (mMediaId != null) {
        mediaBrowser.unsubscribe(mMediaId);
    }
    if (mediaId == null) {
        mediaId = mediaBrowser.getRoot();
    }
    mMediaId = mediaId;
    mediaBrowser.subscribe(mMediaId, mSubscriptionCallback);
}
项目:UniversalAndroidMusicPlayer    文件:MediaBrowserFragment.java   
@Override
public void onChildrenLoaded(@NonNull String parentId,
                             @NonNull List<MediaBrowser.MediaItem> children) {
    try {
        LogHelper.d(TAG, "fragment onChildrenLoaded, parentId=" + parentId +
            "  count=" + children.size());
        checkForUserVisibleErrors(children.isEmpty());
        mBrowserAdapter.clear();
        for (MediaBrowser.MediaItem item : children) {
            mBrowserAdapter.add(item);
        }
        mBrowserAdapter.notifyDataSetChanged();
    } catch (Throwable t) {
        LogHelper.e(TAG, "Error on childrenloaded", t);
    }
}
项目:UniversalAndroidMusicPlayer    文件:MediaBrowserFragment.java   
@Override
public void onStart() {
    super.onStart();

    // fetch browsing information to fill the listview:
    MediaBrowser mediaBrowser = mMediaFragmentListener.getMediaBrowser();

    LogHelper.d(TAG, "fragment.onStart, mediaId=", mMediaId,
            "  onConnected=" + mediaBrowser.isConnected());

    if (mediaBrowser.isConnected()) {
        onConnected();
    }

    // Registers BroadcastReceiver to track network connection changes.
    this.getActivity().registerReceiver(mConnectivityChangeReceiver,
        new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
}
项目:UniversalAndroidMusicPlayer    文件:MediaBrowserFragment.java   
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    MediaBrowser.MediaItem item = getItem(position);
    int itemState = MediaItemViewHolder.STATE_NONE;
    if (item.isPlayable()) {
        itemState = MediaItemViewHolder.STATE_PLAYABLE;
        MediaController controller = ((Activity) getContext()).getMediaController();
        if (controller != null && controller.getMetadata() != null) {
            String currentPlaying = controller.getMetadata().getDescription().getMediaId();
            String musicId = MediaIDHelper.extractMusicIDFromMediaID(
                    item.getDescription().getMediaId());
            if (currentPlaying != null && currentPlaying.equals(musicId)) {
                PlaybackState pbState = controller.getPlaybackState();
                if (pbState == null || pbState.getState() == PlaybackState.STATE_ERROR) {
                    itemState = MediaItemViewHolder.STATE_NONE;
                } else if (pbState.getState() == PlaybackState.STATE_PLAYING) {
                    itemState = MediaItemViewHolder.STATE_PLAYING;
                } else {
                    itemState = MediaItemViewHolder.STATE_PAUSED;
                }
            }
        }
    }
    return MediaItemViewHolder.setupView((Activity) getContext(), convertView, parent,
        item.getDescription(), itemState);
}
项目:UniversalAndroidMusicPlayer    文件:BaseActivity.java   
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    LogHelper.d(TAG, "Activity onCreate");

    // Since our app icon has the same color as colorPrimary, our entry in the Recent Apps
    // list gets weird. We need to change either the icon or the color of the TaskDescription.
    ActivityManager.TaskDescription taskDesc = new ActivityManager.TaskDescription(
        getTitle().toString(),
        BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher_white),
        ResourceHelper.getThemeColor(this, R.attr.colorPrimary, android.R.color.darker_gray));
    setTaskDescription(taskDesc);

    // Connect a media browser just to get the media session token. There are other ways
    // this can be done, for example by sharing the session token directly.
    mMediaBrowser = new MediaBrowser(this,
        new ComponentName(this, MusicService.class), mConnectionCallback, null);
}
项目:Hello-Music-droid    文件:WearBrowserService.java   
private void fillMediaItems(List<MediaBrowser.MediaItem> mediaItems, String mediaId, String title, Uri icon, String subTitle, int playableOrBrowsable) {
    mediaItems.add(new MediaBrowser.MediaItem(
            new MediaDescription.Builder()
                    .setMediaId(mediaId)
                    .setTitle(title)
                    .setIconUri(icon)
                    .setSubtitle(subTitle)
                    .build(), playableOrBrowsable
    ));
}
项目:Muzesto    文件:WearBrowserService.java   
private void fillMediaItems(List<MediaBrowser.MediaItem> mediaItems, String mediaId, String title, Uri icon, String subTitle, int playableOrBrowsable) {
    mediaItems.add(new MediaBrowser.MediaItem(
            new MediaDescription.Builder()
                    .setMediaId(mediaId)
                    .setTitle(title)
                    .setIconUri(icon)
                    .setSubtitle(subTitle)
                    .build(), playableOrBrowsable
    ));
}
项目:AndroidAutoTourGuide    文件:LocalMusicSource.java   
/**
 *
 * @return
 */

public static List<MediaBrowser.MediaItem> getMediaItems() {
    List<MediaBrowser.MediaItem> retVal = new ArrayList<MediaBrowser.MediaItem>()  ;

    MediaBrowser.MediaItem newMediaItem = null ;

    for (MediaMetadata aMetadata:  musicCollectionMap.values()) {
        newMediaItem = new MediaBrowser.MediaItem( aMetadata.getDescription(), MediaBrowser.MediaItem.FLAG_PLAYABLE) ;
        retVal.add( newMediaItem) ;
    }

    return retVal ;
}
项目:AndroidAutoTourGuide    文件:LocalMusicSource.java   
/**
 *
 * @return
 */

public static List<MediaBrowser.MediaItem> getMediaItems() {
    List<MediaBrowser.MediaItem> retVal = new ArrayList<MediaBrowser.MediaItem>()  ;

    MediaBrowser.MediaItem newMediaItem = null ;

    for (MediaMetadata aMetadata:  musicCollectionMap.values()) {
        newMediaItem = new MediaBrowser.MediaItem( aMetadata.getDescription(), MediaBrowser.MediaItem.FLAG_PLAYABLE) ;
        retVal.add( newMediaItem) ;
    }

    return retVal ;
}
项目:MrinalMusicPlayer    文件:TvVerticalGridActivity.java   
@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.tv_vertical_grid);

    mMediaId = getIntent().getStringExtra(TvBrowseActivity.SAVED_MEDIA_ID);
    mTitle = getIntent().getStringExtra(TvBrowseActivity.BROWSE_TITLE);

    getWindow().setBackgroundDrawableResource(R.drawable.bg);

    mMediaBrowser = new MediaBrowser(this,
            new ComponentName(this, MusicService.class),
            mConnectionCallback, null);
}
项目:MrinalMusicPlayer    文件:TvBrowseActivity.java   
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    LogHelper.d(TAG, "Activity onCreate");

    setContentView(R.layout.tv_activity_player);

    mMediaBrowser = new MediaBrowser(this,
            new ComponentName(this, MusicService.class),
            mConnectionCallback, null);
}
项目:MrinalMusicPlayer    文件:TvBrowseFragment.java   
@Override
public void onChildrenLoaded(@NonNull String parentId,
                             @NonNull List<MediaBrowser.MediaItem> children) {
    mListRowAdapter.clear();
    for (MediaBrowser.MediaItem item : children) {
        mListRowAdapter.add(item);
    }
    mListRowAdapter.notifyArrayItemRangeChanged(0, children.size());
}
项目:MrinalMusicPlayer    文件:TvBrowseFragment.java   
private void subscribeToMediaId(String mediaId, MediaBrowser.SubscriptionCallback callback) {
    if (mSubscribedMediaIds.contains(mediaId)) {
        mMediaBrowser.unsubscribe(mediaId);
    } else {
        mSubscribedMediaIds.add(mediaId);
    }
    mMediaBrowser.subscribe(mediaId, callback);
}
项目:MrinalMusicPlayer    文件:TvPlaybackActivity.java   
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    LogHelper.d(TAG, "Activity onCreate");

    mMediaBrowser = new MediaBrowser(this,
            new ComponentName(this, MusicService.class),
            mConnectionCallback, null);

    setContentView(R.layout.tv_playback_controls);

    mPlaybackFragment = (TvPlaybackFragment) getFragmentManager()
            .findFragmentById(R.id.playback_controls_fragment);
}
项目:MrinalMusicPlayer    文件:TvVerticalGridFragment.java   
@Override
public void onStop() {
    super.onStop();
    MediaBrowser mediaBrowser = mMediaFragmentListener.getMediaBrowser();
    if (mediaBrowser != null && mediaBrowser.isConnected() && mMediaId != null) {
        mediaBrowser.unsubscribe(mMediaId);
    }
}
项目:MrinalMusicPlayer    文件:MusicPlayerActivity.java   
@Override
public void onMediaItemSelected(MediaBrowser.MediaItem item) {
    LogHelper.d(TAG, "onMediaItemSelected, mediaId=" + item.getMediaId());
    if (item.isPlayable()) {
        getMediaController().getTransportControls().playFromMediaId(item.getMediaId(), null);
    } else if (item.isBrowsable()) {
        navigateToBrowser(item.getMediaId());
    } else {
        LogHelper.w(TAG, "Ignoring MediaItem that is neither browsable nor playable: ",
                "mediaId=", item.getMediaId());
    }
}
项目:MrinalMusicPlayer    文件:MediaBrowserFragment.java   
@Override
public void onStop() {
    super.onStop();
    MediaBrowser mediaBrowser = mMediaFragmentListener.getMediaBrowser();
    if (mediaBrowser != null && mediaBrowser.isConnected() && mMediaId != null) {
        mediaBrowser.unsubscribe(mMediaId);
    }
    if (getActivity().getMediaController() != null) {
        getActivity().getMediaController().unregisterCallback(mMediaControllerCallback);
    }
    this.getActivity().unregisterReceiver(mConnectivityChangeReceiver);
}
项目:android-music-player    文件:MusicLibrary.java   
public static List<MediaBrowser.MediaItem> getMediaItems() {
    List<MediaBrowser.MediaItem> result = new ArrayList<>();
    for (MediaMetadata metadata: music.values()) {
        result.add(new MediaBrowser.MediaItem(metadata.getDescription(),
                MediaBrowser.MediaItem.FLAG_PLAYABLE));
    }
    return result;
}
项目:android-music-player    文件:MusicPlayerActivity.java   
private void onMediaItemSelected(MediaBrowser.MediaItem item) {
    if (item.isPlayable()) {
        // ------------ CHANGE 2 - REMOVE FOLLOWING LINES FOR PLAYBACK ON A SERVICE
        MediaMetadata metadata = MusicLibrary.getMetadata(this, item.getMediaId());
        mPlaybackManager.play(metadata);
        updateMetadata(metadata);

        /* ------------ CHANGE 2 - UNCOMMENT FOLLOWING LINES FOR PLAYBACK ON A SERVICE
        getMediaController().getTransportControls().playFromMediaId(item.getMediaId(), null);
        // ------------ CHANGE 2 - END OF PLAYBACK ON A SERVICE SNIPPET */
    }
}
项目:android-music-player    文件:MusicLibrary.java   
public static List<MediaBrowser.MediaItem> getMediaItems() {
    List<MediaBrowser.MediaItem> result = new ArrayList<>();
    for (MediaMetadata metadata: music.values()) {
        result.add(new MediaBrowser.MediaItem(metadata.getDescription(),
                MediaBrowser.MediaItem.FLAG_PLAYABLE));
    }
    return result;
}