Search in sources :

Example 36 with MediaMetadata

use of com.google.android.gms.cast.MediaMetadata in project Timber by naman14.

the class TimberCastHelper method startCasting.

public static void startCasting(CastSession castSession, Song song) {
    String ipAddress = TimberUtils.getIPAddress(true);
    URL baseUrl;
    try {
        baseUrl = new URL("http", ipAddress, Constants.CAST_SERVER_PORT, "");
    } catch (MalformedURLException e) {
        e.printStackTrace();
        return;
    }
    String songUrl = baseUrl.toString() + "/song?id=" + song.id;
    String albumArtUrl = baseUrl.toString() + "/albumart?id=" + song.albumId;
    MediaMetadata musicMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MUSIC_TRACK);
    musicMetadata.putString(MediaMetadata.KEY_TITLE, song.title);
    musicMetadata.putString(MediaMetadata.KEY_ARTIST, song.artistName);
    musicMetadata.putString(MediaMetadata.KEY_ALBUM_TITLE, song.albumName);
    musicMetadata.putInt(MediaMetadata.KEY_TRACK_NUMBER, song.trackNumber);
    musicMetadata.addImage(new WebImage(Uri.parse(albumArtUrl)));
    try {
        MediaInfo mediaInfo = new MediaInfo.Builder(songUrl).setStreamType(MediaInfo.STREAM_TYPE_BUFFERED).setContentType("audio/mpeg").setMetadata(musicMetadata).setStreamDuration(song.duration).build();
        RemoteMediaClient remoteMediaClient = castSession.getRemoteMediaClient();
        remoteMediaClient.load(mediaInfo, true, 0);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
Also used : MalformedURLException(java.net.MalformedURLException) MediaInfo(com.google.android.gms.cast.MediaInfo) RemoteMediaClient(com.google.android.gms.cast.framework.media.RemoteMediaClient) MediaMetadata(com.google.android.gms.cast.MediaMetadata) WebImage(com.google.android.gms.common.images.WebImage) URL(java.net.URL) MalformedURLException(java.net.MalformedURLException)

Aggregations

MediaMetadata (com.google.android.gms.cast.MediaMetadata)36 MediaInfo (com.google.android.gms.cast.MediaInfo)22 WebImage (com.google.android.gms.common.images.WebImage)19 Uri (android.net.Uri)10 Calendar (java.util.Calendar)6 MediaTrack (com.google.android.gms.cast.MediaTrack)5 NoConnectionException (com.google.android.libraries.cast.companionlibrary.cast.exceptions.NoConnectionException)5 TransientNetworkDisconnectionException (com.google.android.libraries.cast.companionlibrary.cast.exceptions.TransientNetworkDisconnectionException)5 JSONArray (org.json.JSONArray)4 JSONException (org.json.JSONException)4 JSONObject (org.json.JSONObject)4 Bundle (android.os.Bundle)3 MediaQueueItem (com.google.android.gms.cast.MediaQueueItem)3 FeedItem (de.danoeh.antennapod.core.feed.FeedItem)3 ArrayList (java.util.ArrayList)3 NotFoundException (android.content.res.Resources.NotFoundException)2 Bitmap (android.graphics.Bitmap)2 MediaMetadataCompat (android.support.v4.media.MediaMetadataCompat)2 MediaInfo (com.connectsdk.core.MediaInfo)2 Thumbnail (com.zype.android.webapi.model.video.Thumbnail)2