android - 使用 Twitter4j 播放视频

标签 android twitter twitter4j twitter-streaming-api

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

要加载图像,我正在做:

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 或任何其他 View 中播放来自 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/)

关于android - 使用 Twitter4j 播放视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33666431/

相关文章:

Android Studio 无法为调试器绑定(bind)到本地 8602

ios - 通过 Twitter 登录时获取用户的 MailID

安卓 : Any open source Android twitter client application?

java - Twitter API 识别启用了直接消息传递的用户

android - 如何在 Android 中使用已转换的 EPS 到 SVG 文件

java - 插入充电器时自动启动应用程序

java - 使用处理从 Twitter 获取位置信息

java - 玩框架Twitter4J库

java - 向 web 服务发送 POST 请求时出现 NetworkOnMainThreadException

php - Twitter OAUTH 返回一个空数组