如何在 YouTube api v3 中获取 YouTube 视频的 cc 字幕

Posted

技术标签:

【中文标题】如何在 YouTube api v3 中获取 YouTube 视频的 cc 字幕【英文标题】:How can I get the cc subtitle of a YouTube video in the the YouTube api v3 【发布时间】:2016-04-18 14:10:16 【问题描述】:

如何使用 android 版 YouTube API v3 获取 YouTube 视频的 cc 字幕?

“英语”、“英语自动生成”和“英语自动”这三个字幕有什么区别?

【问题讨论】:

自动生成使用语音识别...嗯...自动生成字幕。 “english”是由一个人写的,很可能是视频的上传者。 【参考方案1】:

基于此documentation,您需要调用captions.list 方法来检索可用于特定视频的字幕轨道列表。将 videoId 参数值设置为唯一标识要检索字幕的视频的 YouTube 视频 ID。

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.captions.list?part=snippet&videoId=PRU2ShMzQRg

这是一个example,它演示了如何使用 API 方法来创建和管理 YouTube 视频字幕轨道。

检查这个相关的 SO 问题:How to add Captions to Youtube video using Youtube API v3?

更新:

检查此example。

/**
     * Returns a list of caption tracks. (captions.listCaptions)
     *
     * @param videoId The videoId parameter instructs the API to return the
     * caption tracks for the video specified by the video id.
     * @throws IOException
     */
    private static List<Caption> listCaptions(String videoId) throws IOException 
      // Call the YouTube Data API's captions.list method to
      // retrieve video caption tracks.
      CaptionListResponse captionListResponse = youtube.captions().
          list("snippet", videoId).execute();

      List<Caption> captions = captionListResponse.getItems();
      // Print information from the API response.
      System.out.println("\n============ Returned Caption Tracks ============\n");
      CaptionSnippet snippet;
      for (Caption caption : captions) 
          snippet = caption.getSnippet();
          System.out.println("  - ID: " + caption.getId());
          System.out.println("  - Name: " + snippet.getName());
          System.out.println("  - Language: " + snippet.getLanguage());
          System.out.println("\n----------------------------------------------\n");
      

      return captions;
    

【讨论】:

感谢@abielita,在调用captions.list 方法后,我收到了这样的信息:link 在此处显示图片我如何从这个结果中获取列表标题?跨度> 请告诉我如何在调用 captions.list 方法后从结果中检索列表标题?调用 captions.list 方法后,我收到了结果like that 请查看我更新的答案。让我知道它是否有效。 我试过那个代码,但我得到了error imgur.com/M9jiDYW 请帮我解决它。我使用 youtube api v3。

以上是关于如何在 YouTube api v3 中获取 YouTube 视频的 cc 字幕的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 YouTube API V3 获取频道

如何在 YouTube API V3 中获取我上传的视频列表

如何在 android 的 Youtube API V3 中按频道 ID 获取 Youtube 直播?

如何使用 Ajax 和 JSON 在 javascript 中使用 v3 URL API 获取 Youtube 视频标题

Youtube API v3 - 如何以迭代方式获取视频列表

YouTube 频道中的“已发布视频”和“上传”有啥区别?以及如何通过 YouTube Data v3 API 获取它们?