标签: android-youtube-api

如何使用Android中的youtube数据API搜索视频

我正在Android中开发一个应用程序,需要通过关键字搜索YouTube的视频.我使用了Youtube数据API,代码如下:

    try {
        youtube = new YouTube.Builder(Auth.HTTP_TRANSPORT, Auth.JSON_FACTORY, new HttpRequestInitializer() {
            public void initialize(HttpRequest request) throws IOException {
            }
        }).setApplicationName("YoutubeQoE").build();

        // Define the API request for retrieving search results.
        YouTube.Search.List search = youtube.search().list("id,snippet");

        // Set your developer key from the Google Cloud Console for
        // non-authenticated requests. See:
        // https://cloud.google.com/console
        search.setKey(DeveloperKey.DEVELOPER_KEY);
        search.setQ("dogs");

        // Restrict the search results to only include videos. See:
        // https://developers.google.com/youtube/v3/docs/search/list#type
        search.setType("video");

        // To increase efficiency, only retrieve the fields that the
        // application uses.
        //search.setFields("items(id/kind,id/videoId,snippet/title,snippet/thumbnails/default/url)");
        search.setMaxResults(25); …
Run Code Online (Sandbox Code Playgroud)

youtube android youtube-api android-youtube-api

8
推荐指数
2
解决办法
2万
查看次数

全屏模式下的YouTubeStandAlonePlayer,无需重新启动纵向和横向(Android)

我在我的应用程序中使用YouTubeStandAlonePlayer播放YouTube视频当我在LightBox模式下使用YouTubeStandAlonePlayer时,只要设备方向发生变化并且不重启活动,视频就会旋转但是当我在全屏模式下使用YouTubeStandAlonePlayer时,它只能以横向模式播放

我的应用程序仅在纵向模式下运行,但是当我通过视频播放视频时.YouTubeStandAlonePlayer我希望它进入全屏,并且能够在方向改变时更改为纵向和横向模式.当用户退出视频时,我希望应用程序返回纵向模式,无论全屏视频的播放方向如何.

播放YouTube视频时,我在Flipboard中看到了此功能

我已经磕磕绊了好几个星期有人可以帮帮我!

android android-youtube-api

8
推荐指数
0
解决办法
726
查看次数

由于Youtube API问题,应用已从Google Play中删除

我开发了一款Android应用程序,可以使用YouTube API在我的YouTube频道上显示视频.

我直接通过YouTubePlayerView类显示视频.我不在YouTube上使用用户授权,只在我的频道播放播放器中的视频.

我也在同一个Activity中使用了视频广告.我在YouTube视频之前显示视频广告.但我不确定这是如此重要.

此外,我还有另一项活动,显示来自我频道的视频列表.对于列表项,我使用视频标题和缩略图.我使用以下网址从YouTube网站获取标题和缩略图:

http://img.youtube.com/vi/" + url + "/default.jpg
Run Code Online (Sandbox Code Playgroud)

http://www.youtube.com/oembed?url=http://www.youtube.com/watch?v=" + id + "&format=json
Run Code Online (Sandbox Code Playgroud)

一切正常.但是当我在Google Play上下载该应用时,我的应用已被删除.这是他们写的:

"经过定期审核后,我们已确定您的应用下载,获利或以其他方式访问违反YouTube服务条款或YouTube API服务条款的YouTube视频.以未经授权的方式访问内容,产品或服务是违反开发者分发协议,不允许在Google Play上播放"

我该怎么做,他们接受了我的申请?

youtube android youtube-api video-streaming android-youtube-api

8
推荐指数
1
解决办法
4315
查看次数

使用新版YouTube时,YouTube Android Player API会在"解组:asc"时抛出"BadParcelableException ClassNotFoundException"

向YouTube Android Player API库工程师提交错误:请参阅android-youtube-api标记

在过去一周半的过程中,我注意到这个奇怪的BadParcelableException在我们的应用程序中稳步增长,并将其钉在了Android的Android新版本上.

如果您的应用正在播放YouTube视频,将您的应用带到后台,强制停止Youtube应用并再次恢复您的应用,则会发生此崩溃.在Youtube版本12.19.56上可以重现崩溃.还在较旧的YouTube版本12.05.21上进行了测试,但崩溃并不存在.

堆栈跟踪:

main Exception: Unable to start activity ComponentInfo{com.myapp.MainActivity}: 
android.os.BadParcelableException: ClassNotFoundException when unmarshalling: asc 
Stack: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myapp.MainActivity}: 
android.os.BadParcelableException: ClassNotFoundException when unmarshalling: asc 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2666) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2727) 
at android.app.ActivityThread.-wrap12(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1478) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:154) 
at android.app.ActivityThread.main(ActivityThread.java:6121) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779) Caused by: 
android.os.BadParcelableException: ClassNotFoundException when unmarshalling: asc 
at android.os.Parcel.readParcelableCreator(Parcel.java:2536) 
at android.os.Parcel.readParcelable(Parcel.java:2462) 
at android.os.Parcel.readValue(Parcel.java:2365) 
at android.os.Parcel.readSparseArrayInternal(Parcel.java:2813) 
at android.os.Parcel.readSparseArray(Parcel.java:2068) 
at android.os.Parcel.readValue(Parcel.java:2422) 
at android.os.Parcel.readArrayMapInternal(Parcel.java:2732) 
at android.os.BaseBundle.unparcel(BaseBundle.java:269) 
at android.os.Bundle.getSparseParcelableArray(Bundle.java:934) 
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1208) 
at …
Run Code Online (Sandbox Code Playgroud)

youtube android parcelable badparcelableexception android-youtube-api

8
推荐指数
1
解决办法
1483
查看次数

在使用单独的方向布局旋转设备时继续播放YouTube播放器

我正在尝试将包含YouTube播放器的视图添加到我在旋转设备时继续播放的活动.由于UI包含的不仅仅是视频,我使用的是YouTubePlayerFragment.

当方向从纵向更改为横向时,系统应使用不同的布局文件.此布局还包括YouTube播放器作为不占用整个屏幕的视图.您将在下面找到重现问题的最低限度代码(对于全新的Android应用,最低API级别为19).

package com.example.youtubefragmenttest;

import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;

import com.google.android.youtube.player.YouTubeInitializationResult;
import com.google.android.youtube.player.YouTubePlayer;
import com.google.android.youtube.player.YouTubePlayerFragment;

public class MainActivity extends AppCompatActivity implements YouTubePlayer.OnInitializedListener {

    private static final String YOUTUBE_DEV_KEY = "[your youtube dev key here]";

    private static final String TAG_YOUTUBE_FRAGMENT = "YoutubePlayerFragment";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        FragmentManager fm = getFragmentManager();
        YouTubePlayerFragment retainedYoutubeFragment = (YouTubePlayerFragment) fm.findFragmentByTag(TAG_YOUTUBE_FRAGMENT);
        if (retainedYoutubeFragment == null) {
            retainedYoutubeFragment = YouTubePlayerFragment.newInstance();
            retainedYoutubeFragment.setRetainInstance(true);
            FragmentTransaction fragmentTransaction = fm.beginTransaction();
            fragmentTransaction.add(R.id.youtube_fragment, retainedYoutubeFragment, TAG_YOUTUBE_FRAGMENT);
            fragmentTransaction.commit(); …
Run Code Online (Sandbox Code Playgroud)

youtube android android-youtube-api

8
推荐指数
1
解决办法
985
查看次数

如果从 GCP 服务器或 AWS 服务器调用 API,YouTube 数据 API 计费是否会发生变化?

我正在构建一个嵌入 YouTube 视频的 Android 应用程序。我对 YouTube Data API v3 的计费方式感到困惑。是否取决于 API 是从 GCP 服务器还是 AWS 服务器调用?

youtube-api android-youtube-api youtube-data-api

8
推荐指数
1
解决办法
2万
查看次数

活动扩展了ActionBarActivity和YouTubeBaseActivity

在我的应用程序中,我需要getSupportActionBar()更改其标题并启用home作为后退按钮.我还需要有一个YouTubePlayerView显示视频.我无法扩展ActionBarActivity,并YouTubeBaseActivity在同一时间.解决此类问题的正确方法是什么?

java android android-actionbar android-youtube-api

7
推荐指数
1
解决办法
3048
查看次数

使用YouTube Android Player API时,YouTube广告从未展示过

无论播放器的风格或视频是什么,YouTube广告都不会展示.

实际YouTube版本:10.18.55 YouTube Android Player API:1.2.1

我记得在开发我的应用程序时看到了一些广告.现在,经过数百次测试,我看不到任何广告.这实际上是一个问题,因为我的应用因"未经授权使用"YouTube API而不断被暂停或拒绝.Google Play支持小组认为我以某种方式停用了广告.请确认问题.

android youtube-api android-youtube-api

7
推荐指数
1
解决办法
1264
查看次数

YouTubePlayerSupportFragment 停止并在画中画中出现黑屏

我正在尝试在不停止 PIP 模式的情况下播放 YouTube 视频的画中画模式。但是视频在黑屏进入 PIP 时停止播放,即使手动调用 player.play() 方法也不会播放。我看到它工作的唯一方法是创建一个新的 Fragment 实例并再次 initialize() 。如何播放符合以下要求的视频?

  1. 进入 PIP 模式时,YouTube 视频应继续播放而不会停止/暂停
  2. newInstance() 丢失缓冲区 + 导致重新加载延迟,需要连续播放
  3. API 必须允许选择播放质量(“小”、“大”等)。所以 IFRAME API 不是一个选项
  4. 不应破坏 YouTube 的 TOS,因此其他支持 DASH 网址等的外部视频播放器看起来也不像是一个选项
  5. 最好 Activity 应该扩展 AppCompatActivity 而不是 YouTubeBaseActivity

注意:从 PIP 返回到完整模式时,视频会连续播放,没有问题。

尝试了以下方法:

  1. 尝试了不使用画中画的有界和无界服务,仍然连续播放是一个问题。
  2. Francesco 的 android youtube 播放器 API(视频可以无缝播放,但由于 YouTube 的 API 限制无法更改播放质量)
  3. 使用 YoutTubePlayerSupportFragment 在 Activity 和 Player 的 onPictureInPictureModeChanged()、onPause() 和 onStopped() 事件上手动调用 play()(视频不会播放,保持黑屏)
  4. 删除视图/布局并在 PIP 上尝试 YouTubePlayer.setFullscreen(true)
  5. 尝试在布局上仅使用一个空的 FrameLayout 来检查叠加层是否导致问题,否
  6. Android Studio 调试日志中也没有报告 Overlays 的错误
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto" …
Run Code Online (Sandbox Code Playgroud)

java android youtube-api android-youtube-api android-picture-in-picture

7
推荐指数
0
解决办法
830
查看次数

YouTube 数据 API 返回访问权限未配置错误

我们最近启用了用于读取用户 YouTube 频道 ID 的 YouTube 数据 API。在我们创建的测试项目中一切正常。

现在我们请求访问我们生产项目的 YouTube 范围,并获得了谷歌的批准。

但是当我们尝试使用该项目时,我们收到了这个错误。

{
    "domain": "usageLimits",
    "reason": "accessNotConfigured",
    "message": "Access Not Configured. YouTube Data API has not been used in project 123 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/youtube.googleapis.com/overview?project=123 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",
    "extendedHelp": "https://console.developers.google.com/apis/api/youtube.googleapis.com/overview?project=123" }   ],   "code": 403,   "message": "Access Not Configured. YouTube Data API has not been used …
Run Code Online (Sandbox Code Playgroud)

android sha1 youtube-api android-youtube-api google-developers-console

7
推荐指数
0
解决办法
808
查看次数