【问题标题】:How to disable the controlls of youtube Player View in android?如何在 android 中禁用 youtube Player View 的控件?
【发布时间】:2015-06-18 08:36:19
【问题描述】:

我做了一个 youtube api 演示,我的要求是我想从 YoutubePlayerView(seekbar) 禁用 userControlls,我已经搜索并找到了解决方案,但我不知道如何在我的代码中应用它。可以有人建议我如何从 android 的 youtube Player View 中禁用搜索栏?

我的代码如下:

代码

public class VideoActivity extends YouTubeBaseActivity implements
        OnClickListener, YouTubePlayer.OnInitializedListener {
    Button btn_toprated;
    TextView tv_site;
    TextView tv_guide;
    public static final String API_KEY = "AIzaSyBV-3VbYw-ljgkj9tDg5pOVEAE8hNmG6q8";
    public static final String VIDEO_ID = "1QydBspryNE";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.video_activity);
        super.onCreate(savedInstanceState);
        init();
        PlayerStyle style = PlayerStyle.CHROMELESS;

    }

    void init() {

        btn_toprated = (Button) findViewById(R.id.btn_toprated);
        tv_guide = (TextView) findViewById(R.id.tv_guide);
        tv_site = (TextView) findViewById(R.id.tv_site);
        btn_toprated.setOnClickListener(this);
        tv_guide.setOnClickListener(this);
        tv_site.setOnClickListener(this);

        YouTubePlayerView youTubePlayerView = (YouTubePlayerView) findViewById(R.id.youtubeplayerview);

        youTubePlayerView.initialize(API_KEY, this);
    }

    @Override
    public void onClick(View v) {
        Intent i;
        switch (v.getId()) {

        case R.id.tv_guide:
            i = new Intent(VideoActivity.this, GuideActivity.class);
            startActivity(i);
            break;
        case R.id.tv_site:
            String url = "http://www.system500.com";
            i = new Intent(Intent.ACTION_VIEW);
            i.setData(Uri.parse(url));
            startActivity(i);
            break;
        case R.id.btn_toprated:
            i = new Intent(VideoActivity.this, TopRatedActivity.class);
            startActivity(i);
            break;
        }
    }

    @Override
    public void onBackPressed() {
        // TODO Auto-generated method stub

    }

    @Override
    public void onInitializationFailure(Provider provider,
            YouTubeInitializationResult result) {
        Toast.makeText(getApplicationContext(), "onInitializationFailure()",
                Toast.LENGTH_LONG).show();
    }

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

        }
    }

}

【问题讨论】:

    标签: android youtube android-youtube-api


    【解决方案1】:

    您可以通过这种方式使用YouTubePlayer.PlayerStyle 枚举类

    player.setPlayerStyle(YouTubePlayer.PlayerStyle.CHROMELESS);
    

    player.setPlayerStyle(YouTubePlayer.PlayerStyle.MINIMAL);
    

    【讨论】:

    • 我可以禁用 youtube 播放器搜索栏吗?
    【解决方案2】:

    枚举值

    public static final YouTubePlayer.PlayerStyle CHROMELESS

    一种不显示交互式播放器控件的样式。


    public static final YouTubePlayer.PlayerStyle DEFAULT

    默认样式,显示所有交互控件。


    public static final YouTubePlayer.PlayerStyle MINIMAL

    一种极简风格,仅显示时间栏和播放/暂停控件。

    尝试以下方法:

     @Override
    public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean wasRestored) {
        Toast.makeText(this, "onInitializationSuccess!", Toast.LENGTH_SHORT).show();
        mYoutubePlayer = youTubePlayer;
        if (youTubePlayer == null) 
            return;
        
        // Start buffering
        if (!wasRestored) {
            youTubePlayer.cueVideo(VIDEO_ID);
        }
        youTubePlayer.setPlayerStyle(YouTubePlayer.PlayerStyle.CHROMELESS);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-02
      • 1970-01-01
      • 2017-08-07
      • 2013-01-03
      相关资源
      最近更新 更多