标签: android-youtube-api

如何使用YouTubePlayerFragment使用YouTube API播放视频?

我想在片段中播放视频.但是,我无法让它发挥作用.如果我正在扩展'YoutubeFailureRecovery',我得到:

09-06 21:56:40.472:E/AndroidRuntime(4946):引起:java.lang.IllegalStateException:只能使用将YouTubeBaseActivity扩展为其上下文的Activity创建YouTubePlayerView.

这是我的.xml:

<com.google.android.youtube.player.YouTubePlayerView
    android:id="@+id/player"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>
Run Code Online (Sandbox Code Playgroud)

这是班级:

public class YoutubeFragment extends YoutubeFailureRecovery {

    YouTubePlayer player;
    YouTubePlayerView playerView;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle arg2) {
        // TODO Auto-generated method stub
        return inflater.inflate(R.layout.detailview, container, false);
    }

    @Override
    public void onStart() {
        // TODO Auto-generated method stub
        super.onStart();
        playerView = (YouTubePlayerView)getActivity().findViewById(R.id.player);
        playerView.initialize(DataHolder.DEVELOPER_KEY, this);

    }

    @Override
    public void onInitializationSuccess(Provider provider, YouTubePlayer player,
                                        boolean wasRestored) {
        // TODO Auto-generated method stub
        player.cueVideo("nCgQDjiotG0");
    }

    @Override
    protected Provider getYouTubePlayerProvider() {
        // TODO …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-youtube-api

9
推荐指数
1
解决办法
1万
查看次数

YouTubePlayerView会在屏幕方向更改时重新加载视频

我使用以下活动从我的应用中启动了YouTube视频.启动活动后,将播放YouTube视频.但是当我改变屏幕的方向时,视频没有恢复,而是从头开始.这是什么问题?

package com.example.blahblah;

import android.content.res.Configuration;
import android.os.Bundle;
import android.widget.Toast;

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;

public class YTPlayActivity extends YouTubeBaseActivity implements
YouTubePlayer.OnInitializedListener {


       static private String yt_sk;
       static private final String DEVELOPER_KEY = "my-api-key";

       @Override

       protected void onCreate(Bundle savedInstanceState) {

              super.onCreate(savedInstanceState);

              setContentView(R.layout.yt_player);
              Bundle extras = getIntent().getExtras();
             yt_sk = extras.getString("yt_sk");

              YouTubePlayerView youTubeView = (YouTubePlayerView)
findViewById(R.id.youtube_view);

           youTubeView.initialize(DEVELOPER_KEY, this);

          }

         @Override

         public void onInitializationFailure(Provider provider,
YouTubeInitializationResult error) {

                Toast.makeText(this, "Oh no! "+error.toString(),
Toast.LENGTH_LONG).show();

       }
       @Override

       public void onInitializationSuccess(Provider provider, …
Run Code Online (Sandbox Code Playgroud)

android android-youtube-api

9
推荐指数
1
解决办法
4188
查看次数

在Youtube Player支持片段中苦苦挣扎

我试图在片段中使用Youtube播放器支持片段,但应用程序总是崩溃(NullPointerException),我无法找到任何类似的帖子来修复它.

我有导入导入android.support.v4.app.Fragment所以不应该是问题.

这是我的片段类的样子:

package com.example.activitydetector;
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.OnInitializedListener;
import com.google.android.youtube.player.YouTubePlayer.Provider;
import com.google.android.youtube.player.YouTubePlayerFragment;
import com.google.android.youtube.player.YouTubePlayerSupportFragment;
import com.google.android.youtube.player.YouTubePlayerView;
import systemManager.SystemManager;
import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.Toast;

public class GuidelinesFragment extends YouTubePlayerSupportFragment {

    SystemManager sm;
    YouTubePlayerView youTubeView; 
    String URL_VIDEO = "CaA-k1l0xa4";
    String KEY_DEVELOPER = "AIzaSyBIIs0u0NXhsZguv8nCNvSzUmflTt7K1Ek";

    public GuidelinesFragment() {
        super();
        // TODO Auto-generated constructor stub
    }

    public void onCreate(Bundle savedInstanceState) { …
Run Code Online (Sandbox Code Playgroud)

youtube android youtube-api android-fragments android-youtube-api

9
推荐指数
2
解决办法
2万
查看次数

Android youtube API在一个主要活动中播放两个或更多Youtube播放器

使用Android Youtube api我想在我的应用主要活动中播放两个视频而不使用片段我们在一个活动中对这个多个Youtube播放器有同样的问题,但是没有可接受的答案,请帮助我们.

activity_main.xml中

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>

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

<com.google.android.youtube.player.YouTubePlayerView
    android:id="@+id/video2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
Run Code Online (Sandbox Code Playgroud)

MainActivity.java

    package com.apps.you;
    import android.os.Bundle;
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;

public class MainActivity extends YouTubeBaseActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    ((YouTubePlayerView) findViewById(R.id.video1)).initialize("AIzaSyBmb9Yqu9vEBXjNOrBmZZ__6s12RH5RSv0", new YouTubePlayer.OnInitializedListener() {
        @Override
        public void onInitializationSuccess(Provider provider1, YouTubePlayer player1, boolean restored1) {
            if (!restored1) {
            player1.cueVideo("Daa38ruXHxE");
            }
        }

        @Override
        public void onInitializationFailure(Provider provider1, YouTubeInitializationResult …
Run Code Online (Sandbox Code Playgroud)

java youtube android json android-youtube-api

9
推荐指数
1
解决办法
2767
查看次数

由YouTubePlayer.Provider的初始化方法导致的内存泄漏

使用Eclipse Memory Analyzer我发现如果我在2个活动(例如A和B)之间来回切换,虽然调用了活动B的onDestroy方法,但GC从不将其从内存中删除,所以我在内存中有多个Activity B实例.我发现问题出在在YouTubePlayerFragment实例上调用的initialize方法中.这是代码:

YouTubePlayerFragment ytpf =(YouTubePlayerFragment) getFragmentManager().findFragmentById(R.id.youtube_fragment);

ytpf.initialize(DEVELOPER_KEY,this);
Run Code Online (Sandbox Code Playgroud)

this是片段发生和实现的活动YouTubePlayer.OnInitializedListener.

如何释放在initialize方法上传递的回调?

我试着打电话youtubePlayer.release()但问题仍然存在.

java android memory-leaks android-youtube-api

9
推荐指数
1
解决办法
838
查看次数

在嵌入360度视频时,Android Youtube API是否支持陀螺仪?

使用YouTube Android应用程序,360度视频支持使用陀螺仪平移视频,这是惊人的.在应用中使用YouTubeStandalonePlayer或YouTubePlayerView时,这是否可行?

android-youtube-api youtube-data-api

9
推荐指数
1
解决办法
1077
查看次数

错误:YouTubeService已泄露IntentReceiver ...您是否错过了对unregisterReceiver()的调用?

我使用YoutubeServie API在我的Android应用程序中播放youtube视频.然而,当我退出我的活动时,我发现下面的崩溃日志显示,甚至我的应用程序仍然有效.

02-28 15:54:02.081 20374-20374/? E/ActivityThread: Service com.google.android.youtube.api.service.YouTubeService has leaked IntentReceiver com.google.android.libraries.youtube.player.audiofocus.HeadsetPlugReceiver@a843e7c that was originally registered here. Are you missing a call to unregisterReceiver()?
                                                   android.app.IntentReceiverLeaked: Service com.google.android.youtube.api.service.YouTubeService has leaked IntentReceiver com.google.android.libraries.youtube.player.audiofocus.HeadsetPlugReceiver@a843e7c that was originally registered here. Are you missing a call to unregisterReceiver()?
                                                       at android.app.LoadedApk$ReceiverDispatcher.<init>(LoadedApk.java:898)
                                                       at android.app.LoadedApk.getReceiverDispatcher(LoadedApk.java:699)
                                                       at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1637)
                                                       at android.app.ContextImpl.registerReceiver(ContextImpl.java:1617)
                                                       at android.app.ContextImpl.registerReceiver(ContextImpl.java:1611)
                                                       at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:488)
                                                       at com.google.android.libraries.youtube.player.service.PlaybackService.<init>(PlaybackService.java:5034)
                                                       at com.google.android.libraries.youtube.player.PlayerInjector$12.create(PlayerInjector.java:1602)
                                                       at com.google.android.libraries.youtube.common.util.Lazy.get(Lazy.java:136)
                                                       at com.google.android.libraries.youtube.player.PlayerInjector.getPlaybackService(PlayerInjector.java:575)
                                                       at com.google.android.apps.youtube.api.ApiPlayer.moveToForeground(ApiPlayer.java:493)
                                                       at com.google.android.apps.youtube.api.ApiPlayer.<init>(ApiPlayer.java:150)
                                                       at com.google.android.apps.youtube.api.service.jar.ApiPlayerService.<init>(ApiPlayerService.java:131)
                                                       at com.google.android.apps.youtube.api.service.jar.ApiPlayerFactoryService$1.run(ApiPlayerFactoryService.java:86)
                                                       at android.os.Handler.handleCallback(Handler.java:739)
                                                       at android.os.Handler.dispatchMessage(Handler.java:95)
                                                       at android.os.Looper.loop(Looper.java:135)
                                                       at android.app.ActivityThread.main(ActivityThread.java:5221)
                                                       at …
Run Code Online (Sandbox Code Playgroud)

android youtube-api android-youtube-api

9
推荐指数
1
解决办法
4237
查看次数

获取在Youtube Android应用程序中运行的视频的URL

我正在尝试为自己开发一个应用程序,它将在Youtube应用程序中下载视频播放的音频版本.我几乎找到了所有其他内容,我想要的是获取在Youtube应用中播放的视频的网址.

所以,这个问题可分为两部分: -

  1. 甚至可以在没有youtube的任何特殊许可的情况下获取视频的网址(不,我不想每次都复制和粘贴视频,而是喜欢通过代码来做).还有其他应用程序正在执行类似的操作,例如voodoo应用程序,它可以自动显示同一产品在其他电子商务网站上的选项.因此,它必须以某种方式跟踪来自父应用程序的产品URL.

  2. Google可以阻止我在Play商店发布我的应用吗?因为它下载了歌曲的音频版本.我搜索了但Play商店中没有youtube下载器.

提前致谢 :)

android youtube-api android-youtube-api youtube-data-api

9
推荐指数
1
解决办法
2214
查看次数

HTML中的"href"值可在Android上的YouTube应用或市场(Google Play)中打开视频

我正在制作一个显示360视频的网页,但我最近注意到Android浏览器中的360功能不受支持,因此视频无法正确显示,所以经过大量搜索我发现最好的选择是尝试使用本开发人员教程中解释的"Android Intent"在YouTube应用中打开视频:

https://developer.chrome.com/multidevice/android/intents

所以我需要为YouTube视频构建href地址,但遗憾的是我不知道android编程,也无法找到YouTube App xml清单来填充选项,任何人都可以帮助我吗?

intent:
   HOST/URI-path <-- I think here needs to be the video URL? 
   #Intent; 
      package=com.google.android.youtube.player.YouTubeIntents; <-- Is this the correct package? or should i use com.google.android.youtube.player? 
      action=createPlayVideoIntentWithOptions(context, UUweNrpFTwA, true, true); <-- Dont know what to put in context field 
      category=[string]; <-- Is category needed? if so what category should i place here?
      component=[string]; <-- Is component needed?
      scheme=youtube; <-- Is this the correct scheme?
   end;
Run Code Online (Sandbox Code Playgroud)

任何帮助或教程将不胜感激...谢谢!!

html android youtube-api android-intent android-youtube-api

9
推荐指数
1
解决办法
6437
查看次数

YouTubePlayerFragment in ListView with AppCompatActivity Error

I am developing one android application. In this application I want youtube video play with youtube player in ListView or RecyclerView with AppCompatActivity. I have used YouTubeBaseActivity it is working well with this, but I need AppCompatActivity. So I used YouTubePlayerFragmentor YouTubePlayerSupportFragment for solving my problem.

When I am using YouTubePlayerFragment with AppCompatActivity then its working well. But I want to use this in ListView, but I'm getting following error.

 android.view.InflateException: Binary XML file line #8: …
Run Code Online (Sandbox Code Playgroud)

java android listview android-view android-youtube-api

9
推荐指数
1
解决办法
805
查看次数