Java 类com.google.android.gms.common.images.WebImage 实例源码
项目:Casty
文件:MediaData.java
MediaInfo createMediaInfo() {
MediaMetadata mediaMetadata = new MediaMetadata(mediaType);
if (!TextUtils.isEmpty(title)) mediaMetadata.putString(MediaMetadata.KEY_TITLE, title);
if (!TextUtils.isEmpty(subtitle)) mediaMetadata.putString(MediaMetadata.KEY_SUBTITLE, subtitle);
for (String imageUrl : imageUrls) {
mediaMetadata.addImage(new WebImage(Uri.parse(imageUrl)));
}
return new MediaInfo.Builder(url)
.setStreamType(streamType)
.setContentType(contentType)
.setStreamDuration(streamDuration)
.setMetadata(mediaMetadata)
.build();
}
项目:EsperantoRadio
文件:CastOptionsProvider.java
@Override
public WebImage onPickImage(MediaMetadata mediaMetadata, int type) {
if ((mediaMetadata == null) || !mediaMetadata.hasImages()) {
return null;
}
List<WebImage> images = mediaMetadata.getImages();
if (images.size() == 1) {
return images.get(0);
} else {
if (type == ImagePicker.IMAGE_TYPE_MEDIA_ROUTE_CONTROLLER_DIALOG_BACKGROUND) {
return images.get(0);
} else {
return images.get(1);
}
}
}
项目:Connect-SDK-Cordova-Plugin
文件:CastService.java
@Override
public void displayImage(String url, String mimeType, String title,
String description, String iconSrc, LaunchListener listener) {
MediaMetadata mMediaMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_PHOTO);
mMediaMetadata.putString(MediaMetadata.KEY_TITLE, title);
mMediaMetadata.putString(MediaMetadata.KEY_SUBTITLE, description);
if (iconSrc != null) {
Uri iconUri = Uri.parse(iconSrc);
WebImage image = new WebImage(iconUri, 100, 100);
mMediaMetadata.addImage(image);
}
com.google.android.gms.cast.MediaInfo mediaInformation = new com.google.android.gms.cast.MediaInfo.Builder(url)
.setContentType(mimeType)
.setStreamType(com.google.android.gms.cast.MediaInfo.STREAM_TYPE_NONE)
.setMetadata(mMediaMetadata)
.setStreamDuration(0)
.setCustomData(null)
.build();
playMedia(mediaInformation, applicationID, listener);
}
项目:CastVideos-android
文件:VideoProvider.java
private static MediaInfo buildMediaInfo(String title, String studio, String subTitle,
int duration, String url, String mimeType, String imgUrl, String bigImageUrl,
List<MediaTrack> tracks) {
MediaMetadata movieMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
movieMetadata.putString(MediaMetadata.KEY_SUBTITLE, studio);
movieMetadata.putString(MediaMetadata.KEY_TITLE, title);
movieMetadata.addImage(new WebImage(Uri.parse(imgUrl)));
movieMetadata.addImage(new WebImage(Uri.parse(bigImageUrl)));
JSONObject jsonObj = null;
try {
jsonObj = new JSONObject();
jsonObj.put(KEY_DESCRIPTION, subTitle);
} catch (JSONException e) {
Log.e(TAG, "Failed to add description to the json object", e);
}
return new MediaInfo.Builder(url)
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setContentType(mimeType)
.setMetadata(movieMetadata)
.setMediaTracks(tracks)
.setStreamDuration(duration * 1000)
.setCustomData(jsonObj)
.build();
}
项目:CastVideos-android
文件:CastOptionsProvider.java
@Override
public WebImage onPickImage(MediaMetadata mediaMetadata, int type) {
if ((mediaMetadata == null) || !mediaMetadata.hasImages()) {
return null;
}
List<WebImage> images = mediaMetadata.getImages();
if (images.size() == 1) {
return images.get(0);
} else {
if (type == ImagePicker.IMAGE_TYPE_MEDIA_ROUTE_CONTROLLER_DIALOG_BACKGROUND) {
return images.get(0);
} else {
return images.get(1);
}
}
}
项目:popcorn-android
文件:CastService.java
@Override
public void displayImage(String url, String mimeType, String title,
String description, String iconSrc, LaunchListener listener) {
MediaMetadata mMediaMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_PHOTO);
mMediaMetadata.putString(MediaMetadata.KEY_TITLE, title);
mMediaMetadata.putString(MediaMetadata.KEY_SUBTITLE, description);
if (iconSrc != null) {
Uri iconUri = Uri.parse(iconSrc);
WebImage image = new WebImage(iconUri, 100, 100);
mMediaMetadata.addImage(image);
}
com.google.android.gms.cast.MediaInfo mediaInformation = new com.google.android.gms.cast.MediaInfo.Builder(url)
.setContentType(mimeType)
.setStreamType(com.google.android.gms.cast.MediaInfo.STREAM_TYPE_NONE)
.setMetadata(mMediaMetadata)
.setStreamDuration(0)
.setCustomData(null)
.build();
playMedia(mediaInformation, applicationID, listener);
}
项目:FMTech
文件:eyv.java
public static void a(JSONObject paramJSONObject, List<WebImage> paramList)
{
JSONArray localJSONArray;
if ((paramList != null) && (!paramList.isEmpty()))
{
localJSONArray = new JSONArray();
Iterator localIterator = paramList.iterator();
while (localIterator.hasNext()) {
localJSONArray.put(((WebImage)localIterator.next()).a());
}
}
try
{
paramJSONObject.put("images", localJSONArray);
return;
}
catch (JSONException localJSONException) {}
}
项目:DeviceConnect-Android
文件:CastOptionsProvider.java
@Override
public WebImage onPickImage(MediaMetadata mediaMetadata, int type) {
if ((mediaMetadata == null) || !mediaMetadata.hasImages()) {
return null;
}
List<WebImage> images = mediaMetadata.getImages();
if (images.size() == 1) {
return images.get(0);
} else {
if (type == ImagePicker.IMAGE_TYPE_MEDIA_ROUTE_CONTROLLER_DIALOG_BACKGROUND) {
return images.get(0);
} else {
return images.get(1);
}
}
}
项目:codelab-chromecast
文件:VideoProvider.java
private static MediaInfo buildMediaInfo(String title, String subTitle, String studio,
String url, String imgUrl, String bigImageUrl, List<MediaTrack> tracks) {
MediaMetadata movieMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
movieMetadata.putString(MediaMetadata.KEY_SUBTITLE, subTitle);
movieMetadata.putString(MediaMetadata.KEY_TITLE, title);
movieMetadata.putString(MediaMetadata.KEY_STUDIO, studio);
movieMetadata.addImage(new WebImage(Uri.parse(imgUrl)));
movieMetadata.addImage(new WebImage(Uri.parse(bigImageUrl)));
return new MediaInfo.Builder(url)
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setContentType(getMediaType())
.setMetadata(movieMetadata)
.setMediaTracks(tracks)
.build();
}
项目:DanaCast
文件:CastUtils.java
private static MediaInfo mediaInfo(EntryModel entry) {
MediaMetadata mediaMetadata = new MediaMetadata(entry.getType() == Constants.TYPE_SONG ?
MediaMetadata.MEDIA_TYPE_MUSIC_TRACK : MediaMetadata.MEDIA_TYPE_MOVIE);
mediaMetadata.putString(MediaMetadata.KEY_TITLE, entry.getParent() != null ?
entry.getParent() : entry.getTitle());
mediaMetadata.putString(MediaMetadata.KEY_SUBTITLE, entry.getParent() != null ?
entry.getTitle() : entry.getLink());
Uri imageUri = Uri.parse(entry.getPictureURL(true));
mediaMetadata.addImage(new WebImage(imageUri));
mediaMetadata.addImage(new WebImage(imageUri));
return new MediaInfo.Builder(entry.getLink())
.setContentType((entry.getType() == Constants.TYPE_SONG ? "audio/" : "video/") +
FilenameUtils.getExtension(entry.getLink()))
.setStreamType(entry.getType() == Constants.TYPE_LIVE ?
MediaInfo.STREAM_TYPE_LIVE : MediaInfo.STREAM_TYPE_BUFFERED)
.setMetadata(mediaMetadata)
.build();
}
项目:Connect-SDK-Android-Google-Cast
文件:CastService.java
@Override
public void displayImage(String url, String mimeType, String title,
String description, String iconSrc, LaunchListener listener) {
MediaMetadata mMediaMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_PHOTO);
mMediaMetadata.putString(MediaMetadata.KEY_TITLE, title);
mMediaMetadata.putString(MediaMetadata.KEY_SUBTITLE, description);
if (iconSrc != null) {
Uri iconUri = Uri.parse(iconSrc);
WebImage image = new WebImage(iconUri, 100, 100);
mMediaMetadata.addImage(image);
}
com.google.android.gms.cast.MediaInfo mediaInformation = new com.google.android.gms.cast.MediaInfo.Builder(url)
.setContentType(mimeType)
.setStreamType(com.google.android.gms.cast.MediaInfo.STREAM_TYPE_NONE)
.setMetadata(mMediaMetadata)
.setStreamDuration(0)
.setCustomData(null)
.build();
playMedia(mediaInformation, applicationID, listener);
}
项目:gcls
文件:MainActivity.java
public static MediaInfo buildMediaInfo(String title,
String studio,
String url,
boolean isLiveStream) {
MediaMetadata movieMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
movieMetadata.putString(MediaMetadata.KEY_TITLE, title);
movieMetadata.putString(MediaMetadata.KEY_SUBTITLE, isLiveStream ? "Live" : "On Demand");
movieMetadata.putString(MediaMetadata.KEY_STUDIO, studio);
movieMetadata.addImage(new WebImage(Uri.parse("http://cdn.nhl.com/nhl/images/logos/large.png")));
movieMetadata.addImage(new WebImage(Uri.parse("https://gcls.herokuapp.com/static/logo_por.jpg")));
return new MediaInfo.Builder(url)
.setStreamType(isLiveStream ? MediaInfo.STREAM_TYPE_LIVE : MediaInfo.STREAM_TYPE_BUFFERED)
.setContentType("application/vnd.apple.mpegurl")
.setMetadata(movieMetadata)
.build();
}
项目:ChromecastBase
文件:MainActivity.java
private MediaInfo buildMediaInfo(String mediaUrl, String contentType, String title, String subtitle, String studio, String imgUrl, String bigImgUrl) {
// List<MediaTrack> mediaTracks = buildMediaTracks();
// TextTrackStyle textTrackStyle = TextTrackStyle.fromSystemSettings(this);
MediaMetadata metadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
metadata.putString(MediaMetadata.KEY_TITLE, title);
metadata.putString(MediaMetadata.KEY_SUBTITLE, subtitle);
metadata.putString(MediaMetadata.KEY_STUDIO, studio);
metadata.addImage(new WebImage(Uri.parse(imgUrl)));
metadata.addImage(new WebImage(Uri.parse(bigImgUrl)));
return new MediaInfo.Builder(mediaUrl)
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setContentType(contentType)
// .setMediaTracks(mediaTracks)
// .setTextTrackStyle(textTrackStyle)
.setMetadata(metadata)
.build();
}
项目:UTubeTV
文件:CastUtils.java
/**
* Builds and returns a {@link Bundle} which contains a select subset of data in the
* {@link MediaInfo}. Since {@link MediaInfo} is not {@link Parcelable}, one can use this
* container bundle to pass around from one activity to another.
*/
public static Bundle fromMediaInfo(MediaInfo info) {
if (null == info) {
return null;
}
MediaMetadata md = info.getMetadata();
Bundle wrapper = new Bundle();
wrapper.putString(MediaMetadata.KEY_TITLE, md.getString(MediaMetadata.KEY_TITLE));
wrapper.putString(MediaMetadata.KEY_SUBTITLE, md.getString(MediaMetadata.KEY_SUBTITLE));
wrapper.putString(KEY_URL, info.getContentId());
wrapper.putString(MediaMetadata.KEY_STUDIO, md.getString(MediaMetadata.KEY_STUDIO));
wrapper.putString(KEY_CONTENT_TYPE, info.getContentType());
wrapper.putInt(KEY_STREAM_TYPE, info.getStreamType());
if (null != md.getImages()) {
ArrayList<String> urls = new ArrayList<String>();
for (WebImage img : md.getImages()) {
urls.add(img.getUrl().toString());
}
wrapper.putStringArrayList(KEY_IMAGES, urls);
}
return wrapper;
}
项目:UTubeTV
文件:CastUtils.java
/**
* Builds and returns a {@link MediaInfo} that was wrapped in a {@link Bundle} by
*/
public static MediaInfo toMediaInfo(Bundle wrapper) {
if (null == wrapper) {
return null;
}
MediaMetadata metaData = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
metaData.putString(MediaMetadata.KEY_SUBTITLE, wrapper.getString(MediaMetadata.KEY_SUBTITLE));
metaData.putString(MediaMetadata.KEY_TITLE, wrapper.getString(MediaMetadata.KEY_TITLE));
metaData.putString(MediaMetadata.KEY_STUDIO, wrapper.getString(MediaMetadata.KEY_STUDIO));
ArrayList<String> images = wrapper.getStringArrayList(KEY_IMAGES);
if (null != images && !images.isEmpty()) {
for (String url : images) {
Uri uri = Uri.parse(url);
metaData.addImage(new WebImage(uri));
}
}
return new MediaInfo.Builder(wrapper.getString(KEY_URL)).setStreamType(wrapper.getInt(KEY_STREAM_TYPE))
.setContentType(wrapper.getString(KEY_CONTENT_TYPE))
.setMetadata(metaData)
.build();
}
项目:RadioDroid
文件:CastHandler.java
public static void PlayRemote(String title, String url, String iconurl){
Log.i("CAST",title);
MediaMetadata movieMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MUSIC_TRACK);
movieMetadata.putString(MediaMetadata.KEY_TITLE, title);
//movieMetadata.putString(MediaMetadata.KEY_SUBTITLE, "MySubTitle");
movieMetadata.addImage(new WebImage(Uri.parse(iconurl)));
//movieMetadata.addImage(new WebImage(Uri.parse(mSelectedMedia.getImage(1))));
MediaInfo mediaInfo = new MediaInfo.Builder(url)
.setStreamType(MediaInfo.STREAM_TYPE_LIVE)
.setContentType("audio/ogg")
.setMetadata(movieMetadata)
//.setStreamDuration(mSelectedMedia.getDuration() * 1000)
.build();
RemoteMediaClient remoteMediaClient = mCastSession.getRemoteMediaClient();
remoteMediaClient.load(mediaInfo, true);
}
项目:player-sdk-native-android
文件:CastOptionsProvider.java
@Override
public WebImage onPickImage(MediaMetadata mediaMetadata, int type) {
if ((mediaMetadata == null) || !mediaMetadata.hasImages()) {
return null;
}
List<WebImage> images = mediaMetadata.getImages();
if (images.size() == 1) {
return images.get(0);
} else {
if (type == ImagePicker.IMAGE_TYPE_MEDIA_ROUTE_CONTROLLER_DIALOG_BACKGROUND) {
return images.get(0);
} else {
return images.get(1);
}
}
}
项目:MyAnimeViewer
文件:VideoDetailsFragment.java
private MediaInfo buildMediaInfo() {
MediaMetadata movieMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
movieMetadata.putString(MediaMetadata.KEY_SUBTITLE, episode.getAnime().getTitle());
movieMetadata.putString(MediaMetadata.KEY_TITLE, episode.getTitle());
movieMetadata.addImage(new WebImage(Uri.parse(episode.getAnime().getCover())));
return new MediaInfo.Builder(videoUrl)
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setContentType("videos/mp4")
.setMetadata(movieMetadata)
.setStreamDuration(exoPlayer.getDuration() * 1000)
.build();
}
项目:MyAnimeViewer
文件:VideoPlayerActivity.java
private MediaInfo buildMediaInfo() {
MediaMetadata movieMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
movieMetadata.putString(MediaMetadata.KEY_SUBTITLE, episode.getAnime().getTitle());
movieMetadata.putString(MediaMetadata.KEY_TITLE, episode.getTitle());
movieMetadata.addImage(new WebImage(Uri.parse(episode.getAnime().getCover())));
return new MediaInfo.Builder(videoUrl)
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setContentType("videos/mp4")
.setMetadata(movieMetadata)
.setStreamDuration(exoPlayer.getDuration() * 1000)
.build();
}
项目:Connect-SDK-Cordova-Plugin
文件:CastService.java
private void playMedia(String url, SubtitleInfo subtitleInfo, String mimeType, String title,
String description, String iconSrc, boolean shouldLoop,
LaunchListener listener) {
MediaMetadata mMediaMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
mMediaMetadata.putString(MediaMetadata.KEY_TITLE, title);
mMediaMetadata.putString(MediaMetadata.KEY_SUBTITLE, description);
if (iconSrc != null) {
Uri iconUri = Uri.parse(iconSrc);
WebImage image = new WebImage(iconUri, 100, 100);
mMediaMetadata.addImage(image);
}
List<MediaTrack> mediaTracks = new ArrayList<>();
if(subtitleInfo != null) {
MediaTrack subtitle = new MediaTrack.Builder(MEDIA_TRACK_ID, MediaTrack.TYPE_TEXT)
.setName(subtitleInfo.getLabel())
.setSubtype(MediaTrack.SUBTYPE_SUBTITLES)
.setContentId(subtitleInfo.getUrl())
.setContentType(subtitleInfo.getMimeType())
.setLanguage(subtitleInfo.getLanguage())
.build();
mediaTracks.add(subtitle);
}
com.google.android.gms.cast.MediaInfo mediaInformation = new com.google.android.gms.cast.MediaInfo.Builder(url)
.setContentType(mimeType)
.setStreamType(com.google.android.gms.cast.MediaInfo.STREAM_TYPE_BUFFERED)
.setMetadata(mMediaMetadata)
.setStreamDuration(1000)
.setCustomData(null)
.setMediaTracks(mediaTracks)
.build();
playMedia(mediaInformation, applicationID, listener);
}
项目:nuclei-android
文件:CastPlayback.java
/**
* Helper method to convert a {@link android.media.MediaMetadata} to a
* {@link MediaInfo} used for sending media to the receiver app.
*
* @param track {@link MediaMetadata}
* @param customData custom data specifies the local mediaId used by the player.
* @return mediaInfo {@link MediaInfo}
*/
private static MediaInfo toCastMediaMetadata(MediaMetadata track,
JSONObject customData) {
com.google.android.gms.cast.MediaMetadata mediaMetadata
= new com.google.android.gms.cast.MediaMetadata(com.google.android.gms.cast.MediaMetadata.MEDIA_TYPE_MUSIC_TRACK);
mediaMetadata.putString(com.google.android.gms.cast.MediaMetadata.KEY_TITLE,
track.getDescription().getTitle() == null ? "" : track.getDescription().getTitle().toString());
mediaMetadata.putString(com.google.android.gms.cast.MediaMetadata.KEY_SUBTITLE,
track.getDescription().getSubtitle() == null ? "" : track.getDescription().getSubtitle().toString());
mediaMetadata.putString(com.google.android.gms.cast.MediaMetadata.KEY_ALBUM_ARTIST, track.getString(MediaMetadataCompat.METADATA_KEY_ALBUM_ARTIST));
mediaMetadata.putString(com.google.android.gms.cast.MediaMetadata.KEY_ALBUM_TITLE, track.getString(MediaMetadataCompat.METADATA_KEY_ALBUM));
WebImage image = new WebImage(
new Uri.Builder().encodedPath(
track.getString(MediaMetadataCompat.METADATA_KEY_ALBUM_ART_URI))
.build());
// First image is used by the receiver for showing the audio album art.
mediaMetadata.addImage(image);
// Second image is used by Cast Companion Library on the full screen activity that is shown
// when the cast dialog is clicked.
mediaMetadata.addImage(image);
MediaId id = MediaProvider.getInstance().getMediaId(track.getDescription().getMediaId());
//noinspection ResourceType
return new MediaInfo.Builder(track.getString(MediaProvider.CUSTOM_METADATA_TRACK_SOURCE))
.setContentType(id.type == MediaId.TYPE_AUDIO ? MIME_TYPE_AUDIO_MPEG : MIME_TYPE_VIDEO_MPEG)
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setMetadata(mediaMetadata)
.setCustomData(customData)
.build();
}
项目:popcorn-android
文件:CastService.java
public void playMedia(String url, String subsUrl, String mimeType, String title,
String description, String iconSrc, boolean shouldLoop,
LaunchListener listener) {
MediaMetadata mMediaMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
mMediaMetadata.putString(MediaMetadata.KEY_TITLE, title);
mMediaMetadata.putString(MediaMetadata.KEY_SUBTITLE, description);
if (iconSrc != null) {
Uri iconUri = Uri.parse(iconSrc);
WebImage image = new WebImage(iconUri, 100, 100);
mMediaMetadata.addImage(image);
}
List<MediaTrack> mediaTracks = new ArrayList<>();
if(subsUrl != null) {
MediaTrack subtitle = new MediaTrack.Builder(1, MediaTrack.TYPE_TEXT)
.setName("Subtitle")
.setSubtype(MediaTrack.SUBTYPE_SUBTITLES)
.setContentId(subsUrl)
.setContentType("text/vtt")
.setLanguage("en")
.build();
mediaTracks.add(subtitle);
}
com.google.android.gms.cast.MediaInfo mediaInformation = new com.google.android.gms.cast.MediaInfo.Builder(url)
.setContentType(mimeType)
.setStreamType(com.google.android.gms.cast.MediaInfo.STREAM_TYPE_BUFFERED)
.setMetadata(mMediaMetadata)
.setStreamDuration(1000)
.setCustomData(null)
.setMediaTracks(mediaTracks)
.build();
playMedia(mediaInformation, applicationID, listener);
}
项目:KSAnime
文件:AnimeActivity.java
private void castVideo(Anime anime, String url){
final RemoteMediaClient mediaClient = castSession.getRemoteMediaClient();
MediaMetadata animeMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
animeMetadata.putString(MediaMetadata.KEY_TITLE, anime.title);
if(anime.coverURL != null && !anime.coverURL.isEmpty()) {
animeMetadata.addImage(new WebImage(Uri.parse(anime.coverURL)));
}
MediaInfo animeInfo = new MediaInfo.Builder(url)
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setContentType("video/mp4")
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setMetadata(animeMetadata)
.build();
mediaClient.addListener(new RemoteMediaClient.Listener() {
@Override
public void onStatusUpdated() {
Intent intent = new Intent(AnimeActivity.this, CastActivity.class);
startActivity(intent);
mediaClient.removeListener(this);
finish();
}
@Override
public void onMetadataUpdated() {}
@Override
public void onQueueStatusUpdated() {}
@Override
public void onPreloadStatusUpdated() {}
@Override
public void onSendingRemoteMediaRequest() {}
});
mediaClient.load(animeInfo, true, 0);
}
项目:MrinalMusicPlayer
文件:CastPlayback.java
/**
* Helper method to convert a {@link android.media.MediaMetadata} to a
* {@link com.google.android.gms.cast.MediaInfo} used for sending media to the receiver app.
*
* @param track {@link com.google.android.gms.cast.MediaMetadata}
* @param customData custom data specifies the local mediaId used by the player.
* @return mediaInfo {@link com.google.android.gms.cast.MediaInfo}
*/
private static MediaInfo toCastMediaMetadata(android.media.MediaMetadata track,
JSONObject customData) {
MediaMetadata mediaMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MUSIC_TRACK);
mediaMetadata.putString(MediaMetadata.KEY_TITLE,
track.getDescription().getTitle() == null ? "" :
track.getDescription().getTitle().toString());
mediaMetadata.putString(MediaMetadata.KEY_SUBTITLE,
track.getDescription().getSubtitle() == null ? "" :
track.getDescription().getSubtitle().toString());
mediaMetadata.putString(MediaMetadata.KEY_ALBUM_ARTIST,
track.getString(android.media.MediaMetadata.METADATA_KEY_ALBUM_ARTIST));
mediaMetadata.putString(MediaMetadata.KEY_ALBUM_TITLE,
track.getString(android.media.MediaMetadata.METADATA_KEY_ALBUM));
WebImage image = new WebImage(
new Uri.Builder().encodedPath(
track.getString(android.media.MediaMetadata.METADATA_KEY_ALBUM_ART_URI))
.build());
// First image is used by the receiver for showing the audio album art.
mediaMetadata.addImage(image);
// Second image is used by Cast Companion Library on the full screen activity that is shown
// when the cast dialog is clicked.
mediaMetadata.addImage(image);
return new MediaInfo.Builder(track.getString(MusicProvider.CUSTOM_METADATA_TRACK_SOURCE))
.setContentType(MIME_TYPE_AUDIO_MPEG)
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setMetadata(mediaMetadata)
.setCustomData(customData)
.build();
}
项目:cast-videos-android
文件:LocalPlayerActivity.java
private MediaInfo buildMediaInfo() {
MediaMetadata movieMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
movieMetadata.putString(MediaMetadata.KEY_SUBTITLE, mSelectedMedia.getStudio());
movieMetadata.putString(MediaMetadata.KEY_TITLE, mSelectedMedia.getTitle());
movieMetadata.addImage(new WebImage(Uri.parse(mSelectedMedia.getImage(0))));
movieMetadata.addImage(new WebImage(Uri.parse(mSelectedMedia.getImage(1))));
return new MediaInfo.Builder(mSelectedMedia.getUrl())
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setContentType("videos/mp4")
.setMetadata(movieMetadata)
.setStreamDuration(mSelectedMedia.getDuration() * 1000)
.build();
}
项目:MyGaana-Universal
文件:CastPlayback.java
/**
* Helper method to convert a {@link MediaMetadataCompat} to a
* {@link com.google.android.gms.cast.MediaInfo} used for sending media to the receiver app.
*
* @param track {@link com.google.android.gms.cast.MediaMetadata}
* @param customData custom data specifies the local mediaId used by the player.
* @return mediaInfo {@link com.google.android.gms.cast.MediaInfo}
*/
private static MediaInfo toCastMediaMetadata(MediaMetadataCompat track,
JSONObject customData) {
MediaMetadata mediaMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MUSIC_TRACK);
mediaMetadata.putString(MediaMetadata.KEY_TITLE,
track.getDescription().getTitle().toString());
mediaMetadata.putString(MediaMetadata.KEY_SUBTITLE,
track.getDescription().getSubtitle().toString());
mediaMetadata.putString(MediaMetadata.KEY_ALBUM_ARTIST,
track.getString(MediaMetadataCompat.METADATA_KEY_ALBUM_ARTIST));
mediaMetadata.putString(MediaMetadata.KEY_ALBUM_TITLE,
track.getString(MediaMetadataCompat.METADATA_KEY_ALBUM));
WebImage image = new WebImage(
new Uri.Builder().encodedPath(
track.getString(MediaMetadataCompat.METADATA_KEY_ALBUM_ART_URI))
.build());
// First image is used by the receiver for showing the audio album art.
mediaMetadata.addImage(image);
// Second image is used by Cast Companion Library on the full screen activity that is shown
// when the cast dialog is clicked.
mediaMetadata.addImage(image);
return new MediaInfo.Builder(track.getString(MusicProvider.CUSTOM_METADATA_TRACK_SOURCE))
.setContentType(MIME_TYPE_AUDIO_MPEG)
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setMetadata(mediaMetadata)
.setCustomData(customData)
.build();
}
项目:FMTech
文件:ApplicationMetadata.java
public ApplicationMetadata(int paramInt, String paramString1, String paramString2, List<WebImage> paramList, List<String> paramList1, String paramString3, Uri paramUri)
{
this.a = paramInt;
this.b = paramString1;
this.c = paramString2;
this.d = paramList;
this.e = paramList1;
this.f = paramString3;
this.g = paramUri;
}
项目:FMTech
文件:CastDevice.java
public CastDevice(int paramInt1, String paramString1, String paramString2, String paramString3, String paramString4, String paramString5, int paramInt2, List<WebImage> paramList, int paramInt3, int paramInt4)
{
this.a = paramInt1;
this.b = paramString1;
this.c = paramString2;
if (this.c != null) {}
try
{
InetAddress localInetAddress = InetAddress.getByName(this.c);
if ((localInetAddress instanceof Inet4Address)) {
this.k = ((Inet4Address)localInetAddress);
}
this.d = paramString3;
this.e = paramString4;
this.f = paramString5;
this.g = paramInt2;
this.h = paramList;
this.i = paramInt3;
this.j = paramInt4;
return;
}
catch (UnknownHostException localUnknownHostException)
{
for (;;)
{
this.k = null;
}
}
}
项目:android-UniversalMusicPlayer
文件:CastPlayback.java
/**
* Helper method to convert a {@link android.media.MediaMetadata} to a
* {@link com.google.android.gms.cast.MediaInfo} used for sending media to the receiver app.
*
* @param track {@link com.google.android.gms.cast.MediaMetadata}
* @param customData custom data specifies the local mediaId used by the player.
* @return mediaInfo {@link com.google.android.gms.cast.MediaInfo}
*/
private static MediaInfo toCastMediaMetadata(MediaMetadataCompat track,
JSONObject customData) {
MediaMetadata mediaMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MUSIC_TRACK);
mediaMetadata.putString(MediaMetadata.KEY_TITLE,
track.getDescription().getTitle() == null ? "" :
track.getDescription().getTitle().toString());
mediaMetadata.putString(MediaMetadata.KEY_SUBTITLE,
track.getDescription().getSubtitle() == null ? "" :
track.getDescription().getSubtitle().toString());
mediaMetadata.putString(MediaMetadata.KEY_ALBUM_ARTIST,
track.getString(MediaMetadataCompat.METADATA_KEY_ALBUM_ARTIST));
mediaMetadata.putString(MediaMetadata.KEY_ALBUM_TITLE,
track.getString(MediaMetadataCompat.METADATA_KEY_ALBUM));
WebImage image = new WebImage(
new Uri.Builder().encodedPath(
track.getString(MediaMetadataCompat.METADATA_KEY_ALBUM_ART_URI))
.build());
// First image is used by the receiver for showing the audio album art.
mediaMetadata.addImage(image);
// Second image is used by Cast Companion Library on the full screen activity that is shown
// when the cast dialog is clicked.
mediaMetadata.addImage(image);
//noinspection ResourceType
return new MediaInfo.Builder(track.getString(MusicProviderSource.CUSTOM_METADATA_TRACK_SOURCE))
.setContentType(MIME_TYPE_AUDIO_MPEG)
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setMetadata(mediaMetadata)
.setCustomData(customData)
.build();
}
项目:torrenttunes-android
文件:CastPlayback.java
/**
* Helper method to convert a {@link MediaMetadataCompat} to a
* {@link com.google.android.gms.cast.MediaInfo} used for sending media to the receiver app.
*
* @param track {@link com.google.android.gms.cast.MediaMetadata}
* @param customData custom data specifies the local mediaId used by the player.
* @return mediaInfo {@link com.google.android.gms.cast.MediaInfo}
*/
private static MediaInfo toCastMediaMetadata(MediaMetadataCompat track,
JSONObject customData) {
MediaMetadata mediaMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MUSIC_TRACK);
mediaMetadata.putString(MediaMetadata.KEY_TITLE,
track.getDescription().getTitle().toString());
mediaMetadata.putString(MediaMetadata.KEY_SUBTITLE,
track.getDescription().getSubtitle().toString());
mediaMetadata.putString(MediaMetadata.KEY_ALBUM_ARTIST,
track.getString(MediaMetadataCompat.METADATA_KEY_ALBUM_ARTIST));
mediaMetadata.putString(MediaMetadata.KEY_ALBUM_TITLE,
track.getString(MediaMetadataCompat.METADATA_KEY_ALBUM));
WebImage image = new WebImage(
new Uri.Builder().encodedPath(
track.getString(MediaMetadataCompat.METADATA_KEY_ALBUM_ART_URI))
.build());
// First image is used by the receiver for showing the audio album art.
mediaMetadata.addImage(image);
// Second image is used by Cast Companion Library on the full screen activity that is shown
// when the cast dialog is clicked.
mediaMetadata.addImage(image);
return new MediaInfo.Builder(track.getString(MusicProvider.CUSTOM_METADATA_TRACK_SOURCE))
.setContentType(MIME_TYPE_AUDIO_MPEG)
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setMetadata(mediaMetadata)
.setCustomData(customData)
.build();
}
项目:Loop
文件:VideoDetailsFragment.java
private MediaInfo buildMediaInfo() {
MediaMetadata movieMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
movieMetadata.putString(MediaMetadata.KEY_SUBTITLE, video.getUser().getName());
movieMetadata.putString(MediaMetadata.KEY_TITLE, video.getName());
movieMetadata.addImage(new WebImage(Uri.parse(video.getThumbnailUrl())));
return new MediaInfo.Builder(videoUrl)
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setContentType("videos/mp4")
.setMetadata(movieMetadata)
.setStreamDuration(exoPlayer.getDuration() * 1000)
.build();
}
项目:UniversalMusicPlayer
文件:CastPlayback.java
/**
* Helper method to convert a {@link android.media.MediaMetadata} to a
* {@link com.google.android.gms.cast.MediaInfo} used for sending media to the receiver app.
*
* @param track {@link com.google.android.gms.cast.MediaMetadata}
* @param customData custom data specifies the local mediaId used by the player.
* @return mediaInfo {@link com.google.android.gms.cast.MediaInfo}
*/
private static MediaInfo toCastMediaMetadata(android.media.MediaMetadata track,
JSONObject customData) {
MediaMetadata mediaMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MUSIC_TRACK);
mediaMetadata.putString(MediaMetadata.KEY_TITLE,
track.getDescription().getTitle().toString());
mediaMetadata.putString(MediaMetadata.KEY_SUBTITLE,
track.getDescription().getSubtitle().toString());
mediaMetadata.putString(MediaMetadata.KEY_ALBUM_ARTIST,
track.getString(android.media.MediaMetadata.METADATA_KEY_ALBUM_ARTIST));
mediaMetadata.putString(MediaMetadata.KEY_ALBUM_TITLE,
track.getString(android.media.MediaMetadata.METADATA_KEY_ALBUM));
WebImage image = new WebImage(
new Uri.Builder().encodedPath(
track.getString(android.media.MediaMetadata.METADATA_KEY_ALBUM_ART_URI))
.build());
// First image is used by the receiver for showing the audio album art.
mediaMetadata.addImage(image);
// Second image is used by Cast Companion Library on the full screen activity that is shown
// when the cast dialog is clicked.
mediaMetadata.addImage(image);
return new MediaInfo.Builder(track.getString(MusicProvider.CUSTOM_METADATA_TRACK_SOURCE))
.setContentType(MIME_TYPE_AUDIO_MPEG)
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setMetadata(mediaMetadata)
.setCustomData(customData)
.build();
}
项目:MusicFromChina
文件:CastPlayback.java
/**
* Helper method to convert a {@link android.media.MediaMetadata} to a
* {@link com.google.android.gms.cast.MediaInfo} used for sending media to the receiver app.
*
* @param track {@link com.google.android.gms.cast.MediaMetadata}
* @param customData custom data specifies the local mediaId used by the player.
* @return mediaInfo {@link com.google.android.gms.cast.MediaInfo}
*/
private static MediaInfo toCastMediaMetadata(android.media.MediaMetadata track,
JSONObject customData) {
MediaMetadata mediaMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MUSIC_TRACK);
mediaMetadata.putString(MediaMetadata.KEY_TITLE,
track.getDescription().getTitle().toString());
mediaMetadata.putString(MediaMetadata.KEY_SUBTITLE,
track.getDescription().getSubtitle().toString());
mediaMetadata.putString(MediaMetadata.KEY_ALBUM_ARTIST,
track.getString(android.media.MediaMetadata.METADATA_KEY_ALBUM_ARTIST));
mediaMetadata.putString(MediaMetadata.KEY_ALBUM_TITLE,
track.getString(android.media.MediaMetadata.METADATA_KEY_ALBUM));
WebImage image = new WebImage(
new Uri.Builder().encodedPath(
track.getString(android.media.MediaMetadata.METADATA_KEY_ALBUM_ART_URI))
.build());
// First image is used by the receiver for showing the audio album art.
mediaMetadata.addImage(image);
// Second image is used by Cast Companion Library on the full screen activity that is shown
// when the cast dialog is clicked.
mediaMetadata.addImage(image);
return new MediaInfo.Builder(track.getString(MusicProvider.CUSTOM_METADATA_TRACK_SOURCE))
.setContentType(MIME_TYPE_AUDIO_MPEG)
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setMetadata(mediaMetadata)
.setCustomData(customData)
.build();
}
项目:RadioRecPlus
文件:RadioRecPlusActivity.java
private MediaInfo getMediaInfo(String stationName, String stationUrl, String imageUrl) {
MediaMetadata mediaMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MUSIC_TRACK);
mediaMetadata.putString(MediaMetadata.KEY_TITLE, stationName);
mediaMetadata.addImage(new WebImage(Uri.parse(imageUrl)));
mediaMetadata.addImage(new WebImage(Uri.parse(imageUrl)));
MediaInfo.Builder mediaInfo = new MediaInfo.Builder(stationUrl);
mediaInfo.setContentType(Constants.MIME_AUDIO_MP3);
mediaInfo.setStreamType(MediaInfo.STREAM_TYPE_LIVE);
mediaInfo.setMetadata(mediaMetadata);
return mediaInfo.build();
}
项目:UniversalAndroidMusicPlayer
文件:CastPlayback.java
/**
* Helper method to convert a {@link android.media.MediaMetadata} to a
* {@link com.google.android.gms.cast.MediaInfo} used for sending media to the receiver app.
*
* @param track {@link com.google.android.gms.cast.MediaMetadata}
* @param customData custom data specifies the local mediaId used by the player.
* @return mediaInfo {@link com.google.android.gms.cast.MediaInfo}
*/
private static MediaInfo toCastMediaMetadata(android.media.MediaMetadata track,
JSONObject customData) {
MediaMetadata mediaMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MUSIC_TRACK);
mediaMetadata.putString(MediaMetadata.KEY_TITLE,
track.getDescription().getTitle() == null ? "" :
track.getDescription().getTitle().toString());
mediaMetadata.putString(MediaMetadata.KEY_SUBTITLE,
track.getDescription().getSubtitle() == null ? "" :
track.getDescription().getSubtitle().toString());
mediaMetadata.putString(MediaMetadata.KEY_ALBUM_ARTIST,
track.getString(android.media.MediaMetadata.METADATA_KEY_ALBUM_ARTIST));
mediaMetadata.putString(MediaMetadata.KEY_ALBUM_TITLE,
track.getString(android.media.MediaMetadata.METADATA_KEY_ALBUM));
WebImage image = new WebImage(
new Uri.Builder().encodedPath(
track.getString(android.media.MediaMetadata.METADATA_KEY_ALBUM_ART_URI))
.build());
// First image is used by the receiver for showing the audio album art.
mediaMetadata.addImage(image);
// Second image is used by Cast Companion Library on the full screen activity that is shown
// when the cast dialog is clicked.
mediaMetadata.addImage(image);
return new MediaInfo.Builder(track.getString(MusicProvider.CUSTOM_METADATA_TRACK_SOURCE))
.setContentType(MIME_TYPE_AUDIO_MPEG)
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setMetadata(mediaMetadata)
.setCustomData(customData)
.build();
}
项目:QuizUpWinner
文件:ApplicationMetadata.java
ApplicationMetadata(int paramInt, String paramString1, String paramString2, List<WebImage> paramList, List<String> paramList1, String paramString3, Uri paramUri)
{
this.kg = paramInt;
this.kh = paramString1;
this.mName = paramString2;
this.ki = paramList;
this.kj = paramList1;
this.kk = paramString3;
this.kl = paramUri;
}
项目:QuizUpWinner
文件:CastDevice.java
public WebImage getIcon(int paramInt1, int paramInt2)
{
if (this.kG.isEmpty())
return null;
if ((paramInt1 <= 0) || (paramInt2 <= 0))
return (WebImage)this.kG.get(0);
Object localObject1 = null;
Object localObject2 = null;
Iterator localIterator = this.kG.iterator();
while (localIterator.hasNext())
{
WebImage localWebImage = (WebImage)localIterator.next();
int i = localWebImage.getWidth();
int j = localWebImage.getHeight();
if ((i >= paramInt1) && (j >= paramInt2))
{
if ((localObject1 == null) || ((localObject1.getWidth() > i) && (localObject1.getHeight() > j)))
localObject1 = localWebImage;
}
else if ((i < paramInt1) && (j < paramInt2) && ((localObject2 == null) || ((localObject2.getWidth() < i) && (localObject2.getHeight() < j))))
localObject2 = localWebImage;
}
if (localObject1 != null)
return localObject1;
if (localObject2 != null)
return localObject2;
return (WebImage)this.kG.get(0);
}
项目:Connect-SDK-Android-Google-Cast
文件:CastService.java
private void playMedia(String url, SubtitleInfo subtitleInfo, String mimeType, String title,
String description, String iconSrc, boolean shouldLoop,
LaunchListener listener) {
MediaMetadata mMediaMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
mMediaMetadata.putString(MediaMetadata.KEY_TITLE, title);
mMediaMetadata.putString(MediaMetadata.KEY_SUBTITLE, description);
if (iconSrc != null) {
Uri iconUri = Uri.parse(iconSrc);
WebImage image = new WebImage(iconUri, 100, 100);
mMediaMetadata.addImage(image);
}
List<MediaTrack> mediaTracks = new ArrayList<>();
if(subtitleInfo != null) {
MediaTrack subtitle = new MediaTrack.Builder(MEDIA_TRACK_ID, MediaTrack.TYPE_TEXT)
.setName(subtitleInfo.getLabel())
.setSubtype(MediaTrack.SUBTYPE_SUBTITLES)
.setContentId(subtitleInfo.getUrl())
.setContentType(subtitleInfo.getMimeType())
.setLanguage(subtitleInfo.getLanguage())
.build();
mediaTracks.add(subtitle);
}
com.google.android.gms.cast.MediaInfo mediaInformation = new com.google.android.gms.cast.MediaInfo.Builder(url)
.setContentType(mimeType)
.setStreamType(com.google.android.gms.cast.MediaInfo.STREAM_TYPE_BUFFERED)
.setMetadata(mMediaMetadata)
.setStreamDuration(1000)
.setCustomData(null)
.setMediaTracks(mediaTracks)
.build();
playMedia(mediaInformation, applicationID, listener);
}
项目:Orpheus
文件:CastUtils.java
@DebugLog
public static MediaInfo buildMediaInfo(String trackTitle,
String albumTitle,
String artistName,
String mimeType,
String url,
String imgUrl,
String bigImageUrl) {
MediaMetadata metadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MUSIC_TRACK);
if (trackTitle != null) {
metadata.putString(MediaMetadata.KEY_TITLE, trackTitle);
}
if (albumTitle != null) {
metadata.putString(MediaMetadata.KEY_ALBUM_TITLE, albumTitle);
}
if (artistName != null) {
metadata.putString(MediaMetadata.KEY_ARTIST, artistName);
}
if (imgUrl != null) {
metadata.addImage(new WebImage(Uri.parse(imgUrl)));
}
if (bigImageUrl != null) {
metadata.addImage(new WebImage(Uri.parse(bigImageUrl)));
}
return new MediaInfo.Builder(url)
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setContentType(mimeType.startsWith("audio") ? mimeType : "audio/*") // Workaround for application/ogg (vorbis)
.setMetadata(metadata)
.build();
}
项目:ChromecastCordova
文件:ChromeCast.java
private JSONArray getRoutes() {
JSONArray routeList = new JSONArray();
List<RouteInfo> routesInMedia = mMediaRouter.getRoutes();
final int l = routesInMedia.size();
if (l == 0) {
return routeList;
}
try {
for (int i = 0; i < l; i++) {
RouteInfo rInfo = routesInMedia.get(i);
CastDevice dInfo = getDevice(rInfo);
JSONObject jsonRoute = new JSONObject();
jsonRoute.put("id", rInfo.getId());
jsonRoute.put("name", rInfo.getName());
jsonRoute.put("description", rInfo.getDescription());
jsonRoute.put("isSelected", rInfo.isSelected());
jsonRoute.put("index", i);
jsonRoute.put("volume", rInfo.getVolume());
if (dInfo != null) {
jsonRoute.put("ipAddress", dInfo.getIpAddress());
List<WebImage> icons = dInfo.getIcons();
if ((icons != null) && !icons.isEmpty()) {
WebImage icon = icons.get(0);
jsonRoute.put("icon", icon.getUrl());
}
}
if (rInfo.isSelected()) {
jsonRoute.put("isConnected", mSelectedDevice != null);
}
/*if (mSelectedDevice != null) {
jsonRoute.put("ipAddress", mSelectedDevice.getIpAddress());
}*/
routeList.put(jsonRoute);
}
} catch (JSONException e) {
Log.d(TAG, "failed to get routes list");
}
return routeList;
}