使用 Twitter4j 播放视频

Play a video with Twitter4j

我正在为 Android 构建一个应用程序来阅读 Twitter 提要我在播放来自推文的视频时遇到了问题。目前,我的推文提要显示的是缩略图,当我点击它时,如果是图片,我会显示该图片,如果是视频,我希望能够播放它。

要加载图片,我正在做:

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 的视频吗?

谢谢

您需要查看回复的 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/