标签: android-youtube-api

在清单中声明 Google api 密钥(对于 youtube API)

使用地图 API,我可以在清单中声明我的密钥:

<meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="AlOtOfNumBersAndLetters123" />
Run Code Online (Sandbox Code Playgroud)

但在 Youtube API 中,我必须以编程方式(AFAIK):

String API_KEY = "AlOtOfNumBersAndLetters123";
youTubePlayerFragment.initialize(API_KEY, myOnInitializedListener);
Run Code Online (Sandbox Code Playgroud)

我该如何使用 Youtube API 清单中声明的​​密钥?

java android android-youtube-api

3
推荐指数
1
解决办法
986
查看次数

ActionBar从YouTube Player API覆盖YouTubePlayerSupportFragment

AppCompatActivity使用主题扩展来扩展活动Theme.AppCompat.Light.DarkActionBar.此活动的视图是包含以下视图LinearLayoutVERTICAL方向:

  1. 一个FrameLayout包含一个YouTubePlayerSupportFragment.请注意,我YouTubePlayer在初始化成功时调用了以下方法:

    setPlayerStyle(PlayerStyle.CHROMELESS)
    addFullscreenControlFlag(YouTubePlayer.FULLSCREEN_FLAG_CUSTOM_LAYOUT)
    
    Run Code Online (Sandbox Code Playgroud)

    我还设置了一个onClickListener玩家视图,应该隐藏并显示ActionBar按需.

  2. 另一个包含视频细节和内容的视图

  3. 一些底视图

请注意,活动调用supportRequestWindowFeature(WindowCompat.FEATURE_ACTION_BAR_OVERLAY)并且LinearLayout具有顶部填充android.support.v7.appcompat.R.attr.actionBarSize.

AndroidManifest.xml,活动已经android:configChanges="orientation|screenSize"设定.

在activity的onConfigurationChanged方法中,我正在检查屏幕方向.如果它是风景,我"全屏",如果它是肖像,我将回到正常的布局.

通过"全屏",我的意思是:

  1. 设置视图n°2并查看n°3 visibilityView.GONE
  2. 将活动的supportActionBar背景颜色设置为某种透明色0x55000000
  3. 设置getWindow().getDecorView().systemUiVisibilityView.SYSTEM_UI_FLAG_FULLSCREEN
  4. 改变视图N°1 LayoutParams,同时设置widthheightMATCH_PARENT
  5. 打电话setFullscreen(true)YouTubePlayer

现在,当我在我的应用程序中时,一切都在纵向模式下运行:视频播放,播放器正确放置在正下方ActionBar.当进入横向模式时,它会按预期继续工作:除了玩家(甚至是玩家ActionBar)之外,一切都会消失.然后我点击现在的全屏YouTube播放器.

预期的结果是ActionBar显示,而不会中断播放.

实际结果是系统状态栏和ActionBar都显示,并且播放因以下错误而中断:

由于未经授权覆盖播放器,YouTube视频播放停止.YouTubePlayer视图被android.support.v7.widget.ActionBarContainer {43744840 V.ED .... ........ 0,50-1280,162#7f0d005b …

android-youtube-api

3
推荐指数
1
解决办法
1656
查看次数

如何使用 kotlin 和 jetpack compose 在 Android 中实现 YouTube IFrame Player API?

YouTube Android 播放器 API SDK 已完全弃用。YouTube 不再支持或维护它。因此需要在Android中实现YouTube IFrame Player API。

播放 YouTube 视频时,显示“初始化 YouTube 播放器时出错”消息。

kotlin android-youtube-api youtube-iframe-api youtubeplayer android-jetpack-compose

3
推荐指数
1
解决办法
2773
查看次数

Android YouTube API - 无缓冲处理方向更改

我正在使用Android YouTube API以纵向模式显示视频.在播放视频并将设备转换为横向模式时,视频将从现场停止但重新缓冲.我正在寻找一个解决方案,以避免重新缓冲.

我知道它可能是事实,因为谷歌在这里提供了一个例子,它完美无瑕地工作,除了我似乎无法使它与我的应用程序一起工作.我不确定要覆盖哪些函数以及哪些函数实际上删除了重新缓​​冲.

编辑:这是ListView中单元格的完整xml; 在最后一个TextView之后以编程方式添加YouTubePlayerView.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/youtube_ll"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/background_shape"
    android:orientation="vertical" >

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:background="@drawable/header_background"
        android:weightSum="2" >

        <TextView
            android:id="@+id/youtube_username_tv"
            android:layout_width="0px"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="top|left"
            android:paddingLeft="15dp"
            android:paddingTop="8dp"
            android:paddingBottom="5dp"
            android:textColor="@android:color/darker_gray"
            android:textSize="13sp" />

        <TextView
            android:id="@+id/youtube_when_tv"
            android:layout_width="0px"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="top|right"
            android:paddingRight="15dp"
            android:paddingTop="8dp"
            android:paddingBottom="5dp"
            android:textColor="@android:color/darker_gray"
            android:textSize="13sp" />
    </LinearLayout>

    <TextView
        android:id="@+id/youtube_content_tv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="20dp"
        android:paddingRight="17dp"
        android:paddingTop="8dp"
        android:paddingBottom="15dp"
        android:textSize="15sp" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我知道在java中你需要覆盖"onConfigurationChanged(Configuration newConfig)",也许还有"onFullscreen(boolean isFullscreen)",但你究竟是如何在没有重新缓冲的情况下"增长"youtube视图?我尝试使用全屏示例中的代码,但它似乎不适合我.这是玩家本身:

public class YouTubeParser extends YouTubeBaseActivity implements YouTubePlayer.OnInitializedListener, YouTubePlayer.PlayerStateChangeListener, YouTubePlayer.OnFullscreenListener {

    private static final int …
Run Code Online (Sandbox Code Playgroud)

java android buffer youtube-api android-youtube-api

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

Youtube Android API - 调用AppVersion不能为null或为空

因此,在我的片段中,我将以下代码用于处理listview的onclickitem

ls.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                    ChannelItem c = (ChannelItem) parent.getAdapter().getItem(position);
                    Intent myIntent = new Intent(getActivity().getBaseContext(), PlayerViewActivity.class);
                    myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    getActivity().getBaseContext().startActivity(myIntent);
                }
            });
Run Code Online (Sandbox Code Playgroud)

我知道这不是最干净的代码,我打算重新格式化它.但它暂时有效(我在使用YoutubeBaseActivity之前使用测试活动对其进行了测试).只是为了澄清这段代码没有问题,但它是为了说明我正在遵循的流程.

因此,当youtube活动开始时,它将执行以下类

public class PlayerViewActivity extends YouTubeBaseActivity implements
        YouTubePlayer.OnInitializedListener {

    static private final String VIDEO = "4SK0cUNMnMM";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.youtube_player);
        YouTubePlayerView youTubeView = (YouTubePlayerView)
                findViewById(R.id.youtube_view);
        youTubeView.initialize(Api.DEV_KEY, this);
    }
    @Override
    public void onInitializationFailure(YouTubePlayer.Provider provider,
                                        YouTubeInitializationResult error) {
        Toast.makeText(this, "Oh no! "+error.toString(),
                Toast.LENGTH_LONG).show();
    }
    @Override
    public …
Run Code Online (Sandbox Code Playgroud)

java android youtube-api android-youtube-api

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

YouTubePlayerSupportFragment全屏按钮强制更改方向,但不会进入全屏模式

我正在创造YouTubePlayerSupportFragment.在肖像模式下播放工作正常.一旦我单击播放器的全屏按钮,它就会强制更改方向并重新创建我所处的活动(视频停止播放并重新创建片段).

这就是我创建片段的方式:

fragment = (YouTubePlayerSupportFragment) getSupportFragmentManager().findFragmentById(R.id.youtube_fragment);
fragment.initialize(Config.YOUTUBE_API_KEY, this);
Run Code Online (Sandbox Code Playgroud)

我发现StackOverflow上唯一类似的问题是这个问题:YouTubePlayerSupportFragment启动重复的Activity

这家伙有同样的问题但到目前为止还没有答案.

android android-layout android-youtube-api

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

Youtube播放器崩溃与给出java.lang.IllegalStateException:Android中的android.os.DeadObjectException

我正在做一个项目.我正在使用YouTubeAndroidPlayerAPIWebview参与我的活动.当我尝试运行带有id的视频时,它会运行.问题是但是如果视频id为null,那么我没有像代码中所解释的那样运行或初始化视频,那么它给了我以下logcat输出,并且我的应用程序因为给出消息而崩溃"Unfortunately You tube has stopped".任何人都可以帮助我,因为我做了很多搜索但找不到任何解决方案.我的活动延伸SherlockYouTubeActivity.该SherlockYouTubeActivity包含SherlockActivity代码,但inspite的Activty它扩展了YouTubeBaseActivity.因此,通过这样做,我已经扩展了SherlockActivityYouTubeBaseActivity我的活动Multilevel Inheritance.

LogCat Output是如下: -

09-09 18:41:18.201: E/AndroidRuntime(25534): FATAL EXCEPTION: main
09-09 18:41:18.201: E/AndroidRuntime(25534): java.lang.IllegalStateException: android.os.DeadObjectException
09-09 18:41:18.201: E/AndroidRuntime(25534):    at com.google.android.youtube.api.jar.client.RemoteEmbeddedPlayer.K(SourceFile:229)
09-09 18:41:18.201: E/AndroidRuntime(25534):    at com.google.android.apps.youtube.api.jar.a.a.a(SourceFile:62)
09-09 18:41:18.201: E/AndroidRuntime(25534):    at com.google.android.apps.youtube.api.jar.a.s.b(SourceFile:945)
09-09 18:41:18.201: E/AndroidRuntime(25534):    at com.google.android.apps.youtube.api.jar.y.a(SourceFile:180)
09-09 18:41:18.201: E/AndroidRuntime(25534):    at com.google.android.apps.youtube.api.jar.a.a.k(SourceFile:576)
09-09 18:41:18.201: E/AndroidRuntime(25534):    at com.google.android.youtube.api.jar.client.RemoteEmbeddedPlayer.e(SourceFile:51)
09-09 18:41:18.201: E/AndroidRuntime(25534):    at com.google.android.youtube.api.jar.client.c.run(SourceFile:715)
09-09 18:41:18.201: E/AndroidRuntime(25534): …
Run Code Online (Sandbox Code Playgroud)

android android-youtube-api

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

Android:如何在YouTube上添加播放按钮

我已实现youtubeThumnailView,没有任何问题。

目前,我的缩略图视图在Android手机上如下所示: 在此处输入图片说明

但是我如何在像这样的缩略图视图上添加播放按钮https://lh4.googleusercontent.com/-c06CilFxXA8/TW3qUN4WTBI/AAAAAAAAAIU/6UaNpVuAt5w/s1600/webView+with+play+button.png

android android-youtube-api

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

YouTube播放器Api从切换到全屏时开始重新加载视频

我试图在我的应用程序中集成Youtube播放器api.但是,当我切换到全屏时,会出现一些问题:

  1. 视频从头开始重新加载.
  2. 在全屏模式下按后退按钮时,应用程序将被强制进入横向方向.

公共类YouTubeVideoElement extends Element实现了YouTubePlayer.OnInitializedListener {

private final String DEVELOPER_KEY = "MY_KEY";
private static final int RECOVERY_DIALOG_REQUEST = 1;

    private RelativeLayout.LayoutParams layoutParams;

    private YouTubePlayerFragment playerFragment;
    private View playerView;
    private ViewGroup viewFrame;
    public State state;
    private Dialog errorDialog;
    private Context context;

    public YouTubeVideoElement(Context context) {
        this.context = context;

    }


    @Override
    public String getType() {
        return null;
    }

    @Override
    public ViewGroup getView() {
        return viewFrame;
    }

    @Override
    public ViewGroup populateView(Context context, JsonObject data, Map<String, String> style) {

        viewFrame = new FrameLayout(context); …
Run Code Online (Sandbox Code Playgroud)

android youtube-api android-youtube-api

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

由于违反政策,Google Play 商店应用被拒绝

应用提交后,我收到消息“我的应用提交因违反设备和网络滥用政策而被拒绝。在提交您的应用以供再次审核之前,请通读该政策并修改您的应用,以确保它不会下载、获利或以违反 YouTube 服务条款的方式访问 YouTube 视频。”

在那个应用程序中,我只是用 youtube 视频播放器播放 youtube 视频。建议我如何成功发布此应用程序。

youtube android google-play android-youtube-api

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