com.google.android.gms.cast.MediaInfo

Here are the examples of the java api class com.google.android.gms.cast.MediaInfo taken from open source projects.

1. MainActivity#startVideo()

Project: AndroidDemoProjects
File: MainActivity.java
private void startVideo() {
    MediaMetadata mediaMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
    mediaMetadata.putString(MediaMetadata.KEY_TITLE, getString(R.string.video_title));
    MediaInfo mediaInfo = new MediaInfo.Builder(getString(R.string.video_url)).setContentType(getString(R.string.content_type_mp4)).setStreamType(MediaInfo.STREAM_TYPE_BUFFERED).setMetadata(mediaMetadata).build();
    try {
        mRemoteMediaPlayer.load(mApiClient, mediaInfo, true).setResultCallback(new ResultCallback<RemoteMediaPlayer.MediaChannelResult>() {

            @Override
            public void onResult(RemoteMediaPlayer.MediaChannelResult mediaChannelResult) {
                if (mediaChannelResult.getStatus().isSuccess()) {
                    mVideoIsLoaded = true;
                    mButton.setText(getString(R.string.pause_video));
                }
            }
        });
    } catch (Exception e) {
    }
}

2. CastPlayback#loadMedia()

Project: android-UniversalMusicPlayer
File: CastPlayback.java
private void loadMedia(String mediaId, boolean autoPlay) throws TransientNetworkDisconnectionException, NoConnectionException, JSONException {
    String musicId = MediaIDHelper.extractMusicIDFromMediaID(mediaId);
    MediaMetadataCompat track = mMusicProvider.getMusic(musicId);
    if (track == null) {
        throw new IllegalArgumentException("Invalid mediaId " + mediaId);
    }
    if (!TextUtils.equals(mediaId, mCurrentMediaId)) {
        mCurrentMediaId = mediaId;
        mCurrentPosition = 0;
    }
    JSONObject customData = new JSONObject();
    customData.put(ITEM_ID, mediaId);
    MediaInfo media = toCastMediaMetadata(track, customData);
    VideoCastManager.getInstance().loadMedia(media, autoPlay, mCurrentPosition, customData);
}

3. QueueListAdapter#onBindViewHolder()

Project: CastVideos-android
File: QueueListAdapter.java
@Override
public void onBindViewHolder(final QueueItemViewHolder holder, int position) {
    Log.d(TAG, "[upcoming] onBindViewHolder() for position: " + position);
    final MediaQueueItem item = mProvider.getItem(position);
    holder.mContainer.setTag(R.string.queue_tag_item, item);
    holder.mPlayPause.setTag(R.string.queue_tag_item, item);
    holder.mPlayUpcoming.setTag(R.string.queue_tag_item, item);
    holder.mStopUpcoming.setTag(R.string.queue_tag_item, item);
    // Set listeners
    holder.mContainer.setOnClickListener(mItemViewOnClickListener);
    holder.mPlayPause.setOnClickListener(mItemViewOnClickListener);
    holder.mPlayUpcoming.setOnClickListener(mItemViewOnClickListener);
    holder.mStopUpcoming.setOnClickListener(mItemViewOnClickListener);
    MediaInfo info = item.getMedia();
    MediaMetadata metaData = info.getMetadata();
    holder.mTitleView.setText(metaData.getString(MediaMetadata.KEY_TITLE));
    holder.mDescriptionView.setText(metaData.getString(MediaMetadata.KEY_SUBTITLE));
    AQuery aq = new AQuery(holder.itemView);
    if (!metaData.getImages().isEmpty()) {
        aq.id(holder.mImageView).width(IMAGE_THUMBNAIL_WIDTH).image(metaData.getImages().get(0).getUrl().toString(), true, true, 0, R.drawable.default_video, null, 0, ASPECT_RATIO);
    }
    holder.mDragHandle.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View view, MotionEvent event) {
            if (MotionEventCompat.getActionMasked(event) == MotionEvent.ACTION_DOWN) {
                mDragStartListener.onStartDrag(holder);
            }
            return false;
        }
    });
    if (item == mProvider.getCurrentItem()) {
        holder.updateControlsStatus(QueueItemViewHolder.CURRENT);
        updatePlayPauseButtonImageResource(holder.mPlayPause);
    } else if (item == mProvider.getUpcomingItem()) {
        holder.updateControlsStatus(QueueItemViewHolder.UPCOMING);
    } else {
        holder.updateControlsStatus(QueueItemViewHolder.NONE);
        holder.mPlayPause.setVisibility(View.GONE);
    }
}

4. VideoListAdapter#onBindViewHolder()

Project: CastVideos-android
File: VideoListAdapter.java
@Override
public void onBindViewHolder(ViewHolder viewHolder, final int position) {
    final MediaInfo item = videos.get(position);
    MediaMetadata mm = item.getMetadata();
    viewHolder.setTitle(mm.getString(MediaMetadata.KEY_TITLE));
    viewHolder.setDescription(mm.getString(MediaMetadata.KEY_SUBTITLE));
    viewHolder.setImage(mm.getImages().get(0).getUrl().toString());
    viewHolder.mMenu.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            mClickListener.itemClicked(view, item, position);
        }
    });
    viewHolder.mImgView.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            mClickListener.itemClicked(view, item, position);
        }
    });
    viewHolder.mTextContainer.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            mClickListener.itemClicked(view, item, position);
        }
    });
    CastSession castSession = CastContext.getSharedInstance(mAppContext).getSessionManager().getCurrentCastSession();
    viewHolder.mMenu.setVisibility((castSession != null && castSession.isConnected()) ? View.VISIBLE : View.GONE);
}

5. CastManager#isRemoteStreamLive()

Project: AntennaPod
File: CastManager.java
/**
     * Determines if the media that is loaded remotely is a live stream or not.
     *
     * @throws TransientNetworkDisconnectionException
     * @throws NoConnectionException
     */
public final boolean isRemoteStreamLive() throws TransientNetworkDisconnectionException, NoConnectionException {
    checkConnectivity();
    MediaInfo info = getRemoteMediaInformation();
    return (info != null) && (info.getStreamType() == MediaInfo.STREAM_TYPE_LIVE);
}

6. QueueListAdapter#onBindViewHolder()

Project: android-and-chromecast-app
File: QueueListAdapter.java
@Override
public void onBindViewHolder(final QueueItemViewHolder holder, int position) {
    Log.d(TAG, "[upcoming] onBindViewHolder() for position: " + position);
    final MediaQueueItem item = mProvider.getItem(position);
    holder.mContainer.setTag(R.string.queue_tag_item, item);
    holder.mPlayPause.setTag(R.string.queue_tag_item, item);
    holder.mPlayUpcoming.setTag(R.string.queue_tag_item, item);
    holder.mStopUpcoming.setTag(R.string.queue_tag_item, item);
    // set listeners
    holder.mContainer.setOnClickListener(mItemViewOnClickListener);
    holder.mPlayPause.setOnClickListener(mItemViewOnClickListener);
    holder.mPlayUpcoming.setOnClickListener(mItemViewOnClickListener);
    holder.mStopUpcoming.setOnClickListener(mItemViewOnClickListener);
    MediaInfo info = item.getMedia();
    MediaMetadata metaData = info.getMetadata();
    holder.mTitleView.setText(metaData.getString(MediaMetadata.KEY_TITLE));
    holder.mDescriptionView.setText(metaData.getString(MediaMetadata.KEY_SUBTITLE));
    AQuery aq = new AQuery(holder.itemView);
    if (!metaData.getImages().isEmpty()) {
        aq.id(holder.mImageView).width(64).image(metaData.getImages().get(0).getUrl().toString(), true, true, 0, R.drawable.default_video, null, 0, mAspectRatio);
    }
    holder.mDragHandle.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (MotionEventCompat.getActionMasked(event) == MotionEvent.ACTION_DOWN) {
                mDragStartListener.onStartDrag(holder);
            }
            return false;
        }
    });
    if (item == mProvider.getCurrentItem()) {
        holder.updateControlsStatus(QueueItemViewHolder.ControlStatus.CURRENT);
        updateImageResource(holder.mPlayPause);
    } else if (item == mProvider.getUpcomingItem()) {
        holder.updateControlsStatus(QueueItemViewHolder.ControlStatus.UPCOMING);
    } else {
        holder.updateControlsStatus(QueueItemViewHolder.ControlStatus.NONE);
        holder.mPlayPause.setVisibility(View.GONE);
    }
}

7. VideoListAdapter#onBindViewHolder()

Project: android-and-chromecast-app
File: VideoListAdapter.java
@Override
public void onBindViewHolder(ViewHolder viewHolder, final int position) {
    final MediaInfo item = videos.get(position);
    MediaMetadata mm = item.getMetadata();
    viewHolder.setTitle(mm.getString(MediaMetadata.KEY_TITLE));
    viewHolder.setDescription(mm.getString(MediaMetadata.KEY_SUBTITLE));
    viewHolder.setImage(mm.getImages().get(0).getUrl().toString());
    viewHolder.mMenu.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            mClickListener.itemClicked(v, item, position);
        }
    });
    viewHolder.mImgView.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            mClickListener.itemClicked(v, item, position);
        }
    });
    viewHolder.mTextContainer.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            mClickListener.itemClicked(v, item, position);
        }
    });
    viewHolder.mMenu.setVisibility(mCastManager.isConnected() ? View.VISIBLE : View.GONE);
}