11

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
4

10 に答える 10

2

携帯電話で YouTube アプリを最新バージョンに更新するだけで、完璧に動作します

于 2016-05-31T18:35:47.223 に答える
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
で apk を入手できます) =com.google.android.youtube )

于 2014-08-18T21:20:47.920 に答える
0

Google Glass でプレーヤーが失敗した

場合 YouTube プレーヤーが失敗した場合、failure メソッドに渡される YouTubeInitializationResult arg1 パラメータには、プレーヤーが失敗した理由に関する情報が含まれています。上記のコードでわかるように、単純にトーストしました。トーストに SERVIVE_MISSING のプリントアウトが表示されました。Google の開発者向け Web サイトで、可能な戻り値のリストを見つけました。であり、SERVICE_MISSING エラーの原因は YouTube API サービスがデバイスにないことです。このサービスは、google が android で配布している標準的な youtube アプリの一部ですが、まだ Glass には追加されていないようです。この問題を解決するには、アプリをサイドロードしてサービスを取得します。残念ながら、YouTube アプリを起動してそこから動画を視聴する方法はありません。残念ながら、このアプリは Android 電話用に作成されており、音声トリガー/タイムライン カードがないためです。

ここからダウンロードできます。または、ここにロードします: 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

于 2015-06-29T14:16:43.487 に答える