【问题标题】:Youtube API "An error occurred while initializing the YouTube player."Youtube API “初始化 YouTube 播放器时出错。”
【发布时间】:2013-03-05 16:46:38
【问题描述】:

我正在使用 Youtube API 在我的应用程序上安装简单的 playerView。我做了 API 所说的事情,但我不断收到“应用程序已停止”的消息。因为我使用的是韩国电话,所以我真的不知道确切的英语短语。希望这是正确的英语短语。

我将 Youtubeandroidplayerapi.jar 放在库中并构建了路径,并在库中添加了不必要的组件。

这里是 Menu.java。

package com.hobak.sci;

import com.hobak.sci.DeveloperKey;
import com.hobak.sci.R;
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.YouTubePlayer.Provider;
import com.google.android.youtube.player.YouTubePlayerView;
import android.os.Bundle;

public class Menu extends YouTubeBaseActivity implements
    YouTubePlayer.OnInitializedListener {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.menu);

        YouTubePlayerView youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view);
    youTubeView.initialize(DeveloperKey.DEVELOPER_KEY, this);
    }

    @Override
    public void onInitializationSuccess(YouTubePlayer.Provider provider,
        YouTubePlayer player, boolean wasRestored) {
    if (!wasRestored) {
        player.cueVideo("2LHv1FPd1Ec");
    }
}

protected YouTubePlayer.Provider getYouTubePlayerProvider() {
    return (YouTubePlayerView) findViewById(R.id.youtube_view);
}

@Override
public void onInitializationFailure(Provider arg0,
        YouTubeInitializationResult arg1) {
    // TODO Auto-generated method stub

}

}

这是我的 xml 文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#FFFACD"
    android:orientation="vertical" >


  <com.google.android.youtube.player.YouTubePlayerView
    android:id="@+id/youtube_view"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />



</LinearLayout>

这是我的日志

03-17 15:55:51.260: E/AndroidRuntime(5277): FATAL EXCEPTION: main
03-17 15:55:51.260: E/AndroidRuntime(5277): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.hobak.sci/com.hobak.sci.Menu}: java.lang.SecurityException: Not allowed to bind to service Intent { act=com.google.android.youtube.api.service.START }
03-17 15:55:51.260: E/AndroidRuntime(5277):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1961)
03-17 15:55:51.260: E/AndroidRuntime(5277):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1986)
03-17 15:55:51.260: E/AndroidRuntime(5277):     at android.app.ActivityThread.access$600(ActivityThread.java:128)
03-17 15:55:51.260: E/AndroidRuntime(5277):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1152)
03-17 15:55:51.260: E/AndroidRuntime(5277):     at android.os.Handler.dispatchMessage(Handler.java:99)
03-17 15:55:51.260: E/AndroidRuntime(5277):     at android.os.Looper.loop(Looper.java:137)
03-17 15:55:51.260: E/AndroidRuntime(5277):     at android.app.ActivityThread.main(ActivityThread.java:4453)
03-17 15:55:51.260: E/AndroidRuntime(5277):     at java.lang.reflect.Method.invokeNative(Native Method)
03-17 15:55:51.260: E/AndroidRuntime(5277):     at java.lang.reflect.Method.invoke(Method.java:511)
03-17 15:55:51.260: E/AndroidRuntime(5277):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
03-17 15:55:51.260: E/AndroidRuntime(5277):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
03-17 15:55:51.260: E/AndroidRuntime(5277):     at dalvik.system.NativeStart.main(Native Method)
03-17 15:55:51.260: E/AndroidRuntime(5277): Caused by: java.lang.SecurityException: Not allowed to bind to service Intent { act=com.google.android.youtube.api.service.START }
03-17 15:55:51.260: E/AndroidRuntime(5277):     at android.app.ContextImpl.bindService(ContextImpl.java:1164)
03-17 15:55:51.260: E/AndroidRuntime(5277):     at android.content.ContextWrapper.bindService(ContextWrapper.java:370)
03-17 15:55:51.260: E/AndroidRuntime(5277):     at com.google.android.youtube.player.internal.r.e(Unknown Source)
03-17 15:55:51.260: E/AndroidRuntime(5277):     at com.google.android.youtube.player.YouTubePlayerView.a(Unknown Source)
03-17 15:55:51.260: E/AndroidRuntime(5277):     at com.google.android.youtube.player.YouTubeBaseActivity$a.a(Unknown Source)
03-17 15:55:51.260: E/AndroidRuntime(5277):     at com.google.android.youtube.player.YouTubePlayerView.initialize(Unknown Source)
03-17 15:55:51.260: E/AndroidRuntime(5277):     at com.hobak.sci.Menu.onCreate(Menu.java:21)
03-17 15:55:51.260: E/AndroidRuntime(5277):     at android.app.Activity.performCreate(Activity.java:4467)
03-17 15:55:51.260: E/AndroidRuntime(5277):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
03-17 15:55:51.260: E/AndroidRuntime(5277):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1925)
03-17 15:55:51.260: E/AndroidRuntime(5277):     ... 11 more

【问题讨论】:

  • 你能发布你的 AndroidManifest.xml 吗?很可能您在那里缺少权限。
  • youtube.com/watch?v=bKQ8m27cfHg 请检查您的设备是否可以播放 youtube。在手机中:设置 -> 应用程序 -> youtube ||设置启用

标签: android youtube youtube-api


【解决方案1】:

我遇到了这个问题。然后我就加了

&lt;uses-permission android:name="android.permission.INTERNET"/&gt; 进入AndroidManifest.xml 标记中的&lt;manifest&gt;。之后该应用程序运行良好。

【讨论】:

  • hii 我已经添加了互联网权限,但它仍然给我同样的错误
  • @AndroidPower,确保你清理你的项目并重建它。 XML 文件中的代码更改不会自动触发 Eclipse 的自动构建功能。
  • 嗨,现在可以播放了,但是如果 youtube 播放器应用程序未安装在移动设备中而不是播放器,我想在没有任何其他应用程序的情况下播放 youtubevideo,我该怎么做
  • @AndroidPower,我认为做不到。如果您阅读developers.google.com/youtube/android/player,您会注意到:Note: Users need to run version 4.2.16 of the mobile YouTube app (or higher) to use the API.
  • 这个问题和debug模式和release模式有关系吗? @alexismorin
【解决方案2】:

我也遇到了同样的问题,经过搜索和谷歌搜索后,我得到了答案:-

           for youtube player you must have youtube app enabled and still if not work then update youtube to the latest version.

这样就可以了。

【讨论】:

    【解决方案3】:

    我在发布版本中遇到了这个问题,但在将其添加到 proguard 后工作了

    -keepclassmembers class fqcn.of.javascript.interface.for.webview {
           public *;
       }
    

    【讨论】:

      【解决方案4】:

      只需将您的 youtube 应用更新到手机中的最新版本即可完美运行

      【讨论】:

        【解决方案5】:

        如果播放器在 Google Glass 上失败

        当 youtube 播放器失败时,传递给失败方法的 YouTubeInitializationResult arg1 参数包含有关播放器失败原因的信息。正如您在上面的代码中看到的那样,我只是简单地烤了它。我在 toast 中打印了 SERVIVE_MISSING。我在google's developer website 上找到了可能的返回值列表,SERVICE_MISSING 错误的原因是设备上缺少 YouTube API 服务。该服务是 google 随 android 分发的标准 youtube 应用程序的一部分,但显然尚未将其添加到 glass 中。要解决此问题,您可以侧载应用程序以获取服务。不幸的是,无法启动 YouTube 应用程序并从中观看视频,因为它是为 Android 手机编写的,并且没有语音触发/时间线卡。

        可以从here下载,或者我在这里加载:com.google.android.youtube-5.2.27.apk

        只需将其加载:

        adb install com.google.android.youtube-5.2.27.apk

        这会在玻璃上安装 youtube 应用程序。现在视频应该可以工作了!

        取自:http://www.eg.bucknell.edu/~jpk017/doku.php?id=wiki:yt

        【讨论】:

          【解决方案6】:

          我已经通过以下步骤解决了这个问题:

          • 清理项目然后重建项目
          • 在具有高于 4.2.16 版本的 Youtube 应用的设备上运行该应用。

          【讨论】:

            【解决方案7】:

            除了将&lt;uses-permission android:name="android.permission.INTERNET" /&gt; 添加到 AndroidManifest.xml 之外,您还必须在设备/模拟器上安装 youtube 应用。如果你想在模拟器上下载它,请侧载这个:

            https://play.google.com/store/apps/details?id=com.google.android.youtube&hl=en
            (可以通过http://apps.evozi.com/apk-downloader/?id=com.google.android.youtube获取apk)

            【讨论】:

              【解决方案8】:

              右键单击项目转到属性->java内置路径->库->添加库并在那里添加你的jar文件,然后它就可以工作了

              如果您想在您的应用程序中使用 youtube 视频,您的设备必须包含 youtube 应用程序,否则它将无法工作

              【讨论】:

              • 您为我节省了几个小时。谢谢。
              【解决方案9】:

              也许,这似乎是开发人员的关键问题。 位于 DeveloperKey.java 中的示例 DEVELOPER_KEY 密钥将不起作用。 首先,注册一个新的开发者密钥。 (https://code.google.com/apis/console) 然后,将其替换为有效的密钥。

              【讨论】:

                猜你喜欢
                • 2015-05-21
                • 1970-01-01
                • 2023-04-04
                • 2013-05-23
                • 1970-01-01
                • 2020-11-29
                • 2021-01-16
                • 2013-01-29
                相关资源
                最近更新 更多