GSYVideoPlayer 视频播放,凭借这份《数据结构与算法》核心文档

2


<com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer

    android:layout\_width="match\_parent"

    android:id="@+id/video\_player"

    android:layout\_height="match\_parent"></com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer>

3


package com.cherishTang.laishou.laishou.main.activity;



import android.content.pm.ActivityInfo;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.util.Log;

import android.view.View;

import android.widget.ImageView;

import android.widget.Toast;



import com.cherishTang.laishou.R;

import com.cherishTang.laishou.util.apiUtil.StringUtil;

import com.shuyu.gsyvideoplayer.GSYVideoManager;

import com.shuyu.gsyvideoplayer.model.VideoOptionModel;

import com.shuyu.gsyvideoplayer.utils.OrientationUtils;

import com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer;



import java.util.ArrayList;

import java.util.List;



import tv.danmaku.ijk.media.player.IjkMediaPlayer;



/**

 * Created by CherishTang on 2019/3/19.

 * describe

 */

public class VideoViewActivity extends AppCompatActivity {

    private Bundle bundle;

    private String path;

    private String title;

    StandardGSYVideoPlayer videoPlayer;

    OrientationUtils orientationUtils;

String test=null;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.video_view_activity);

        bundle = getIntent().getExtras() == null ? new Bundle() : getIntent().getExtras();

        path = bundle.getString("path");

        title = bundle.getString("title");

        if (StringUtil.isEmpty(path)) {

            Toast.makeText(this,"播放地址错误",Toast.LENGTH_LONG).show();

            return;

        }

        init();

    }



    private void init() {

        videoPlayer =  (StandardGSYVideoPlayer)findViewById(R.id.video_player);



        String source1 = path;

        videoPlayer.setUp(source1, true, title);

        /**

         * 12、视频声音画面不同步。

         *

         * 模拟器的不接!

         *

         * 1、是否关闭了硬解码!

         *

         * 2、Activity的config是否配置了!

         *

         * 3、视频的分辨率和帧数是多少,机器是否支持的了

         *

         * 第3步可以通过尝试降低倍数:

         */

        VideoOptionModel videoOptionModel =

                new VideoOptionModel(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "framedrop", 50);

        List<VideoOptionModel> list = new ArrayList<>();

        list.add(videoOptionModel);

        GSYVideoManager.instance().setOptionModelList(list);

        //增加封面

        ImageView imageView = new ImageView(this);

        imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);

        imageView.setImageResource(R.mipmap.ic_launcher);

        videoPlayer.setThumbImageView(imageView);

        //增加title

        videoPlayer.getTitleTextView().setVisibility(View.VISIBLE);

        //设置返回键

        videoPlayer.getBackButton().setVisibility(View.VISIBLE);

        //设置旋转

        orientationUtils = new OrientationUtils(this, videoPlayer);

        //设置全屏按键功能,这是使用的是选择屏幕,而不是全屏

        videoPlayer.getFullscreenButton().setOnClickListener(new View.OnClickListener() {

            @Override



**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/e47f446d42358980fd97029afb9846f2.png)
![img](https://img-blog.csdnimg.cn/img_convert/f85ecf42cde80c4d7513fe1d788f623b.png)
![img](https://img-blog.csdnimg.cn/img_convert/1578e990907fc2353856d7288a9eeb8b.png)
![img](https://img-blog.csdnimg.cn/img_convert/e27a5f671a03d396cef305e82dd649cc.png)
![img](https://img-blog.csdnimg.cn/img_convert/82f1d4f6e7a14675d594e51463ca81c4.png)
![img](https://img-blog.csdnimg.cn/img_convert/8442ba13a0ddac5f44d33b05278daa54.png)
![img](https://img-blog.csdnimg.cn/13f2cb2e05a14868a3f0fd6ac81d625c.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)**
![img](https://img-blog.csdnimg.cn/img_convert/405bbbe6dfa6b2d5adb9a4e028f331a6.png)



### 最后

今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。

最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套**腾讯、头条、阿里、美团等公司20年的面试题**,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含**知识脉络 + 诸多细节**,由于篇幅有限,这里以图片的形式给大家展示一部分。

还有 **高级架构技术进阶脑图、Android开发面试专题资料**,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

**【Android核心高级技术PDF文档,BAT大厂面试真题解析】**

![](https://img-blog.csdnimg.cn/img_convert/0a49845133ba11fefa4706af60b7806d.webp?x-oss-process=image/format,png)

**【算法合集】**

![](https://img-blog.csdnimg.cn/img_convert/c6da99ecd2fdab9eef8d7a6e910fb684.webp?x-oss-process=image/format,png)

**【延伸Android必备知识点】**

![](https://img-blog.csdnimg.cn/img_convert/d5a6df20fc22dd46ba9f8ca189c69594.webp?x-oss-process=image/format,png)


料的时间来学习,也可以分享给身边好友一起学习。

**【Android核心高级技术PDF文档,BAT大厂面试真题解析】**

[外链图片转存中...(img-8bCK0NUj-1711932730874)]

**【算法合集】**

[外链图片转存中...(img-7QZqYuPh-1711932730874)]

**【延伸Android必备知识点】**

[外链图片转存中...(img-uJrf2bck-1711932730874)]


> **本文已被[CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》]( )收录**
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值