用Twitter4j播放视频

时间:2015-11-12 07:41:32

标签: android twitter twitter4j twitter-streaming-api

我正在为Android构建一个应用程序以阅读Twitter提要我从一条推文中播放视频时遇到了问题。目前,我的推文Feed显示了拇指图像,当我点击它时,如果它是图像我会显示图像,如果是视频,我希望能够播放它。

要加载图片,我正在做:

ImageLoader mImageLoader = new ImageLoader(mActivity);
mImageLoader.DisplayImage(mPicToShowUrl, tweet_pic) ;

mPicToShowUrl来自:

mediaEntity.getMediaURL().toString();

mediaEntity来自Twitter4j Status.getExpandedURL

tweet_pic只是一个ImageView

URL看起来像:example.com/xxx/status/89284924/video/1,它主要不能在任何播放器上使用,因为它不包含像xxx.com/1.avi

这样的内容

这种URL和ImageLoader允许加载图像。我正在为视频寻找相同的方法

我认为推特视频更像是一个流媒体视频

知道如何在ImageView或任何其他视图中播放来自Twitter的视频吗?

由于

1 个答案:

答案 0 :(得分:1)

您需要查看回复的extended_entities。你会看到像

这样的东西
"extended_entities": {
    "media": [
      {
        "id": 567972074346807300,
        "id_str": "567972074346807296",
        "indices": [
          46,
          68
        ],
        "media_url": "http://pbs.twimg.com/ext_tw_video_thumb/567972074346807296/pu/img/uz53Ap4wEah7cV50.jpg",
        "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/567972074346807296/pu/img/uz53Ap4wEah7cV50.jpg",
        "url": "http://t.co/cGazAn7H3E",
        "display_url": "pic.twitter.com/cGazAn7H3E",
        "expanded_url": "http://twitter.com/katiemoffat/status/567972190639022080/video/1",
        "type": "video",
        "sizes": {
          "small": {
            "w": 340,
            "h": 340,
            "resize": "fit"
          },
          "thumb": {
            "w": 150,
            "h": 150,
            "resize": "crop"
          },
          "medium": {
            "w": 600,
            "h": 600,
            "resize": "fit"
          },
          "large": {
            "w": 720,
            "h": 720,
            "resize": "fit"
          }
        },
        "video_info": {
          "aspect_ratio": [
            1,
            1
          ],
          "duration_millis": 6605,
          "variants": [
            {
              "bitrate": 832000,
              "content_type": "video/mp4",
              "url": "https://video.twimg.com/ext_tw_video/567972074346807296/pu/vid/480x480/eU1s1ig_skHgeRjB.mp4"
            },
            {
              "content_type": "application/x-mpegURL",
              "url": "https://video.twimg.com/ext_tw_video/567972074346807296/pu/pl/tr7sF7aHBPOCuL8H.m3u8"
            },
            {
              "bitrate": 832000,
              "content_type": "video/webm",
              "url": "https://video.twimg.com/ext_tw_video/567972074346807296/pu/vid/480x480/eU1s1ig_skHgeRjB.webm"
            },
            {
              "bitrate": 1280000,
              "content_type": "video/mp4",
              "url": "https://video.twimg.com/ext_tw_video/567972074346807296/pu/vid/720x720/njkDGgpJBpsTjQD3.mp4"
            },
            {
              "bitrate": 320000,
              "content_type": "video/mp4",
              "url": "https://video.twimg.com/ext_tw_video/567972074346807296/pu/vid/240x240/Gye4gcWtlJq8zXhF.mp4"
            }
          ]
        }
      }
    ]
  },

因此,您需要访问extended_entities->media->video_info->variants才能看到所有不同尺寸和格式的视频。

您可以选择不同尺寸的MP4,WEBM和流 - 具体取决于您正在播放的设备的适用范围。

(取自https://shkspr.mobi/blog/2015/02/working-with-the-twitter-videos-api/