【问题标题】:Youtube player custom app force closes every timeYoutube播放器自定义应用强制每次关闭
【发布时间】:2019-09-25 15:28:18
【问题描述】:

我现在正在尝试使用 youtube 自定义播放器。我正在尝试让它播放包含某个游戏的原始配乐播放列表的视频。

问题是,一切都由书本完成(再次),但我仍然遇到每次尝试打开 APK 时强制停止的并发问题。这是代码:

XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="20dp"
    android:orientation="vertical"
    tools:context=".MainActivity">


    <view
        android:id="@+id/YoutubePlayView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/buttonPlay"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="Play Video" />

</LinearLayout>

Java:

package my.videoplayerapp;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;

import com.google.android.youtube.player.YouTubeBaseActivity;
import com.google.android.youtube.player.YouTubeInitializationResult;
import com.google.android.youtube.player.YouTubePlayer;
import com.google.android.youtube.player.YouTubePlayerView;

public class MainActivity extends AppCompatActivity {


    private static final String TAG = "MainActivity";

    YouTubePlayerView mYoutubePlayerView;
    Button PlayVidButton;
    YouTubePlayer.OnInitializedListener mOnInitializedListener;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.d(TAG, "onCreate: Starting.");
        PlayVidButton = findViewById(R.id.buttonPlay);
        mYoutubePlayerView = findViewById(R.id.YoutubePlayView);

        mOnInitializedListener = new YouTubePlayer.OnInitializedListener() {
            @Override
            public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
                Log.d(TAG, "onClick: Initialization Done.");

                youTubePlayer.loadVideo("DBToMwdYBME");
            }

            @Override
            public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
                Log.d(TAG, "onClick: Initialization Failed.");
            }
        };

        PlayVidButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.d(TAG, "onClick: Initializing Youtube Player.");
                mYoutubePlayerView.initialize((YoutubeVidPlayerConfig.getApiKey()), mOnInitializedListener);
                Log.d(TAG, "onClick: Initialization Done.");
            }
        });
    }
}

Logcat,链接:https://drive.google.com/open?id=1w5TfCIfyCWCrOZmrjb0lzTpndoQc2SJ0

我正在尝试真正能够通过按钮播放视频,我知道播放下一个视频甚至播放视频序列的方法,我只是不知道为什么它一直在崩溃,因为我说得对现在...

如有任何帮助,我们将不胜感激!

【问题讨论】:

  • 您的 &lt;view&gt; 元素不正确。要么将其更改为 &lt;com.google.android.youtube.player.YouTubePlayerView&gt; 标记,要么将 class="com.google.android.youtube.player.YouTubePlayerView" 添加到您现在拥有的 &lt;view&gt; 标记中。

标签: java android youtube-api


【解决方案1】:

您有一个 ID 为“YoutubePlayView”的视图,但您的课程名为“YoutubePlayerView”。更改其中一个,它应该可以工作(它不应该在这个位置强制关闭)。

【讨论】:

  • 遗憾的是这并没有解决问题。我已将视图的 ID 更改为“YoutubePlayerView”,但它仍然崩溃并强制关闭。
  • 哦。没有意识到您的班级名称是 YouTubePlayerView。它区分大小写。将视图更改为(大写 t 而不是小写)
猜你喜欢
  • 2015-12-14
  • 1970-01-01
  • 1970-01-01
  • 2014-11-19
  • 2018-08-19
  • 1970-01-01
  • 2011-11-19
  • 2014-10-18
  • 1970-01-01
相关资源
最近更新 更多