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;
}