我正在使用Youtube API在我的应用程序上使用简单的playerView。我做了API所说的,但我不断收到“应用已停止”的消息。因为我正在使用韩国电话,所以我真的不知道确切的英语短语。希望这是英语中的正确短语。
我将Youtubeandroidplayerapi.jar放在libs中并构建路径并在库中包含不必要的组件。
这是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>
这是我的logcat
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
答案 0 :(得分:10)
我遇到了这个问题。然后我加入了
<uses-permission android:name="android.permission.INTERNET"/>
进入AndroidManifest.xml
标记中的<manifest>
。该应用程序运行良好。
答案 1 :(得分:5)
我通过以下步骤解决了这个问题:
答案 2 :(得分:2)
答案 3 :(得分:2)
只需将您的YouTube应用更新到手机中的最新版本,它就会完美无缺
答案 4 :(得分:1)
右键单击项目转到属性 - >在路径中构建的java-&gt; libraries-&gt;添加库并在那里添加jar文件然后它正在工作
如果你想在你的应用程序中使用youtube视频,你的设备必须包含youtube的应用程序,否则它将无法正常工作
答案 5 :(得分:0)
除了将<uses-permission android:name="android.permission.INTERNET" />
添加到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)
答案 6 :(得分:0)
如果玩家在Google Glass上失败
当youtube播放器失败时,传递给失败方法的YouTubeInitializationResult arg1参数包含有关播放器失败原因的信息。我只是敬酒它,正如你在上面的代码中看到的那样。我在吐司中打印了一个SERVIVE_MISSING。我在google's developer website找到了可能的返回值列表,而SERVICE_MISSING错误的原因是设备上缺少YouTube API服务。这项服务是google与Android分发的标准YouTube应用程序的一部分,但显然尚未将其添加到玻璃上。要解决此问题,您可以侧载应用程序以获取服务。遗憾的是,无法启动YouTube应用并观看视频,因为它是针对Android电话编写的,没有语音触发/时间线卡。
它可以从here下载,或者我已将其加载到此处:com.google.android.youtube-5.2.27.apk
只需将其加载:
adb install com.google.android.youtube-5.2.27.apk
这会将youtube应用程序安装在玻璃上。现在视频应该可以工作了!
答案 7 :(得分:0)
我在发布版本中遇到了这个问题,但在将其添加到proguard
之后就开始了-keepclassmembers class fqcn.of.javascript.interface.for.webview {
public *;
}
答案 8 :(得分:0)
我有同样的问题,经过搜索和谷歌搜索这么多,我得到了答案: -
for youtube player you must have youtube app enabled and still if not work then update youtube to the latest version.
它会起作用。