学习android开发看谁的视频好,求链接

1013人阅读
Android开发学习之路(38)
终于把该忙的事情都忙得差不多了,接下来又可以开始good good study,day day up了。在中,主要讲了播放器的界面的简单实现,以及扫描视频文件,获取视频文件的部分信息,还没开始讲解如何使用vitamio这个库,这里就开始讲解下最简单的使用方法吧。
1.接口的简单使用
layout界面:
&?xml version="1.0" encoding="utf-8"?&
class="LocalPlayerBinding"&&
xmlns:android="/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"&
android:id="@+id/dd"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" &
android:id="@+id/surface_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" /&
android:id="@+id/subtitle_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerInParent="true"
android:text="111" /&
io.vov.vitamio.widget.CenterLayout是vitamio提供的widget居中布局,然后io.vov.vitamio.widget.VideoView就是显示的播放界面了,其实主要就是个surfaceview。接着看下activity代码:
package com.jared.jplayer.
import android.content.C
import android.content.I
import android.databinding.DataBindingU
import android.widget.T
import com.jared.jplayer.R;
import com.jared.jplayer.app.BaseA
import com.mon.MyMediaC
import com.jared.jplayer.databinding.LocalPlayerB
import io.vov.vitamio.MediaP
import io.vov.vitamio.V
* Created by jared on .
public class LocalVideoPlayer extends BaseActivity {
private String subtitle_path = "";
private long mPosition = 0;
private LocalPlayerB
public static void launch(Context context, String url) {
Intent intent = new Intent(context, LocalVideoPlayer.class);
intent.putExtra("url", url);
context.startActivity(intent);
protected void initParams() {
Vitamio.isInitialized(getActivity());
binding = DataBindingUtil.setContentView(getActivity(), R.layout.activity_local_player);
protected void initViews() {
super.initViews();
String url = getActivity().getIntent().getStringExtra("url");
initVideo("file://"+url);
protected void onPause() {
mPosition = binding.surfaceView.getCurrentPosition();
binding.surfaceView.stopPlayback();
super.onPause();
protected void onResume() {
if (mPosition & 0) {
binding.surfaceView.seekTo(mPosition);
mPosition = 0;
super.onResume();
binding.surfaceView.start();
private void initVideo(String path) {
if (path == "") {
Toast.makeText(getActivity(), "Please edit VideoViewSubtitle Activity, and set path" + " variable to your media file URL/path", Toast.LENGTH_LONG).show();
binding.surfaceView.setVideoPath(path);
MyMediaController myMediaController = new MyMediaController(getActivity());
binding.surfaceView.setMediaController(myMediaController);
binding.surfaceView.requestFocus();
binding.surfaceView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
public void onPrepared(MediaPlayer mediaPlayer) {
mediaPlayer.setPlaybackSpeed(1.0f);
binding.surfaceView.addTimedTextSource(subtitle_path);
binding.surfaceView.setTimedTextShown(true);
binding.surfaceView.setOnTimedTextListener(new MediaPlayer.OnTimedTextListener() {
public void onTimedText(String text) {
binding.subtitleView.setText(text);
public void onTimedTextUpdate(byte[] pixels, int width, int height) {
这里看下initVideo代码,binding.surfaceView.setVideoPath(path);设置播放的路径,这里的路径是之前的播放列表中已经扫描出来的然后解析出来通过launch方法传递给LocalVideoPlayer的。这里自定义了controller,然后通过controller就可以控制播放暂停等功能了,接着来看controller。
2.自定义MediaController
package com.
import android.content.C
import android.util.AttributeS
import android.view.LayoutI
import android.view.V
import com.jared.jplayer.R;
import io.vov.vitamio.widget.MediaC
* Created by jared on .
public class MyMediaController extends MediaController {
Context mC
public MyMediaController(Context context, AttributeSet attrs) {
super(context, attrs);
mContext =
public MyMediaController(Context context) {
super(context);
mContext =
protected View makeControllerView() {
return ((LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.mymediacontroller, this);
继承了MediaController,重新的布局了界面,接着看下新的布局:
&?xml version="1.0" encoding="utf-8"?&
xmlns:android="/apk/res/android"
android:layout_width="match_parent"
android:layout_height="74dp"
android:background="@color/mediacontroller_bg"
android:orientation="vertical" &
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" &
android:id="@+id/mediacontroller_play_pause"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="5dp"
android:background="@drawable/mediacontroller_button"
android:contentDescription="@string/mediacontroller_play_pause"
android:src="@drawable/mediacontroller_pause" /&
android:id="@+id/mediacontroller_time_current"
style="@style/MediaController_Text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="5dp"
android:layout_toRightOf="@id/mediacontroller_play_pause" /&
android:id="@+id/mediacontroller_time_total"
style="@style/MediaController_Text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="5dp" /&
android:id="@+id/mediacontroller_seekbar"
style="@style/MediaController_SeekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/mediacontroller_time_total"
android:layout_toRightOf="@id/mediacontroller_time_current"
android:focusable="true"
android:maxHeight="4dp"
android:minHeight="4dp"
android:progressDrawable="@drawable/seekbar_define_color_style"
android:thumb="@drawable/seekbar_thumb"
android:max="1000" /&
android:id="@+id/mediacontroller_file_name"
style="@style/MediaController_Text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:ellipsize="marquee"
android:singleLine="true" /&
注意的是这里的id的名字必须不能变,因为vitamio的mediacontroller会根据id来做对应的事情的。
vitamio的接口还是比较简洁的,省去了很多事情,需要考虑的事情基本上都做好了,它是基于ffmpeg做的,之后有机会也可以深入学习下。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:800366次
积分:8570
积分:8570
排名:第2093名
原创:169篇
评论:456条
别驻足,梦想要不停追逐;
别认输,熬过黑夜才有日出。
要记住,成功就在下一步;
路很苦,汗水是最美的书!
文章:40篇
阅读:205803
阅读:19097
文章:13篇
阅读:99237已有天涯账号?
这里是所提的问题,您需要登录才能参与回答。
"天涯问答"是天涯社区旗下的问题分享平台。在这里您可以提问,回答感兴趣的问题,分享知识和经历,无论您在何时何地上线都可以访问,此平台完全免费,而且注册非常简单。
初学者看哪个视频教程好,想学安卓开发,mars,老罗和黑马的视频都不错,哪个更适合初学者?
没有java基础,学过.net,c语言也了解一点,对编程很感兴趣。
15-12-01 & 发布
初学者如果没有一定的基础想学安卓开发是挺难的,个人建议你还是可以去培训学校学习一下,老师一对一的辅导,而且安卓开发学的好的话出来的工资都是10几万元一年。像珠海的南方爱迪实训的老师就是全天24个小时线上线下的辅导,出来还终身就业。很不错,你可以去了解一下。
请登录后再发表评论!播放列表加载中...
正在载入...
分享视频:
嵌入代码:
拍下二维码,随时随地看视频
教大家选一部好的安卓手机教学视频
上 传 者:
内容介绍:
教大家选一部好的安卓手机教学视频
我来说点啥
版权所有 CopyRight
| 京网文[0号 |
| 京公网安备:
互联网药品信息服务资格证:(京)-非经营性- | 广播电视节目制作经营许可证:(京)字第403号
<img src="" width="34" height="34"/>
<img src=""/>
<li data-vid="">
<img src=""/><i data-vid="" class="ckl_plays">
<img width="132" height="99" src=""/>
在线人数:
<li data-vid="">
<img src=""/><i data-vid="" class="ckl_plays">
<img src="///img/blank.png" data-src=""/>
<img src="///img/blank.png" data-src="http://"/>
<li data-vid="" class="cfix">
src="///img/blank.png" data-src=""/>
<i data-vid="" class="ckl_plays">
<li data-vid="" class="cfix">
src="///img/blank.png" data-src=""/><i data-vid="" class="ckl_plays">
没有数据!
{upload_level_name}
粉丝 {fans_count}
{video_count}
{description}学习Java基本语法、变量、流程控制、修饰符、修饰符、继承、抽象、接口、数组、异常。
预计学习时长:7天
语言只是载体,思想才是核心。学会了语言就像一个人有了强健的体魄,没有设计思想永远无法做出优秀的软件。本课程就是让你从0开始了解什么是软件设计的基本思想和常见的模式。
预计学习时长:7天
Eclipse IDE 是Java体系主流的集成开发环境,熟练掌握其使用是编程必备技能,本课程介绍Eclipse IDE开发工具的使用,快捷键,设置,技巧,代码阅读,调试等。
预计学习时长:3天
介绍 Android App 开发环境搭建和配置操作。
1、JDK&ADT (Bundle)的概念、如何获得、安装,安装目录介绍。
2、配置JDK环境变量。
3、Eclipse开发工具常规配置。
4、Android SDK Manager&模拟器配置。
预计学习时长:2天
Android Studio是Google最新推出的高效Android开发工具,本课程将教会您使用最新的Android Studio开发工具,并且能够快速的从Eclipse迁移到Android Studio。
预计学习时长:7天
Android智能手机的迅猛发展,巨大的市场份额激发很多传统IT公司转向APP应用开发,未来十年Android APP开发工程师仍然是炙手可热的职位。本课程将通过实践教会你Andriod应用开发最常用的元素-Activity,快速入门Android应用开发。
预计学习时长:7天
熟练掌握Android基础控件、五大布局的用法,熟练掌握容器控件ListView、ViewPager、RecyclerView的用法,学会定制自己的应用主题和样式,熟练掌握View的测量布局绘制流程,并学会自定义View,打造自己的个性化View。
预计学习时长:7天
本章主要是android高级ui设计之fragment学习,主要介绍android fragment的应用场景、项目创建、替换、移除、实战等等系列操作,让初学者不仅能对fragment的理论知识有一个清晰的认识,同时还让其能掌握fragment相关实战应用,知其然还知其所以然。
预计学习时长:3天
android高级ui设计课程,涵盖android ui系统控件、第三方控件等高级UI一切控件的使用方法,并从实战方面进行详细剖析,增强大家对android 高级ui的了解与掌握,设计出更完美的android界面。
预计学习时长:14天
学习Android自定义控件的三种方式,详细案例分析。看完本课程,能够自己编写自定义控件
预计学习时长:7天
本套Android broadcast教程,主要是为大家介绍android广播接收器注册、自定义、生命周期、安全性、防火墙等相关知识,方便大家轻松掌握android语言中的这一重要知识点。
预计学习时长:7天
service是android系统中的一种组件,本套android service课程主要是为大家介绍service生命周期、活动通信、远程服务、前台服务与综合应用相关知识,方便大家快速掌握android这一组件。
预计学习时长:7天
详细介绍Android的存储机制实现。使用小项目的形式呈现知识点的运用。
预计学习时长:7天
详细介绍Android的存储机制实现。使用小项目的形式呈现知识点的运用。
预计学习时长:7天
本课程将学习Android编程中的多线程和异步任务相关操作,帮助学员理解、掌握android多线程、android异步任务相关理论知识的同时,也能将这些理论运用于具体实践。
预计学习时长:7天
已更新:17章
美图秀秀以丰富有趣的照片处理方式,同时紧抓“人人都有爱美之心”的大众心理,通过高品质的像素转换,在短短几年内吸引了千万级庞大用户量。针对此应用,我们在体验一张张美艳的照片制作过程中,让我们对android中的自定义控件,绘画算法,自定义相机,图片像素转换和android内存的优化技术深入了解掌握,真正让android开发水平更上一层楼。
预计学习时长:7天
已更新:9章
android的主题、自定义样式以及动画的实现
预计学习时长:7天
Android网络编程
预计学习时长:7天
Android网络编程
预计学习时长:7天
学完android编程理论知识,本阶段我们就开始了android项目实战,本章将主要为大家讲解android类似大众点评网项目的制作,让大家能充分掌握项目实战的经验技巧和相关关键知识点。
预计学习时长:21天
在完成了android基础篇学习以后,我们不禁会去思考,一个商业级别的Android APP项目还会要求我们具备怎样的能力?我们又该如何去掌握并且运用这些能力?本系列android项目实战视频将带领大家完成一个商业级别的APP项目,解决项目中遇见的实际问题,帮助大家成为一个合格的android开发工程师。
预计学习时长:7天
本课程为android应用企业级即时通讯开发框架基础,完成该android实战课程后,可以达到以下目标:
1 、掌握 xmpp协议基础知识 ;
2 、能独立安装、配置openfire 环境;
3 、能独立开发、部署 基于openfire+smack Android IM应用;
预计学习时长:7天
Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮。xUtils 最初源于Afinal框架,进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响...
预计学习时长:7天
美图秀秀以丰富有趣的照片处理方式,同时紧抓“人人都有爱美之心”的大众心理,通过高品质的像素转换,在短短几年内吸引了千万级庞大用户量。针对此应用,我们在体验一张张美艳的照片制作过程中,让我们对android中的自定义控件,绘画算法,自定义相机,图片像素转换和android内存的优化技术深入了解掌握,真正让android开发水平更上一层楼
预计学习时长:7天
作为一个合格的Android开发工程师,与时具进,快速掌握目前最火最流行的应用管理工具和熟练的使用AndroidStudio和对gradle的认识,配置;掌握andoid应用的发布,应用签名,多渠道打包,代码混淆和版本管理不在那么神秘和复杂。本视频教程帮你完成牛逼程序员的小梦想!
预计学习时长:7天
已更新:13章
进一步学习Android中常用的Java知识,包括:反射、内部类、泛型、多线程、Http网络编程等知识。
预计学习时长:7天
Java 基础是Java
web开发的基础语言,本节课程将围绕Java编程介绍Java的基本语法、变量、流程控制、修饰符、修饰符、继承、抽象、接口、数组、异常等基础知识,让你快速入门并精通Java语言。
预计学习时长:7天
SVN&Git在软件开发中经常使用,本章学习它们的使用背景、作用、用法等,以便在开发中进行版本控制,获取开源项目源代码,团队开发等。
预计学习时长:3天
Android Camera拍照|Recoder录像功能的开发要点和技巧。
预计学习时长:7天
android 5.0 是Google历年来改动最大的版本,带来了全新的用户体验与功能提升,本课程将给大家介绍android 5.0中最炫的Material Design的实现方法及部分重要的API使用。
预计学习时长:7天
本课程将学习Android编程中的多线程和异步任务相关操作,帮助学员理解、掌握android多线程、android异步任务相关理论知识的同时,也能将这些理论运用于具体实践。
预计学习时长:7天
android应用发布程序让你的劳动成果公布于世,打包和发布是这个神圣动作的必备步骤。本课程介绍了android应用部署与发布中的打包程序时的混淆技术,反编译和防止反编译技术。手动打包和Ant脚本打包的介绍,详细说明版本名称和版本代号的作用,说明签名文件的作用。介绍批量打包的版本,将android程序发布到各大安卓市场上。
预计学习时长:7天
学习Android的音频和视频播放。
预计学习时长:7天
好的编程规范和代码风格对编程至关重要,本课程讲解Java&Android中的编码规范和如何编写良好风格的代码。
预计学习时长:3天
Android中各种传感器:重力、加速度、方向、光线的使用方法。
预计学习时长:7天
从互联网到移动互联网,科技的发展经过一波又一波的浪潮。我们站在浪潮之颠思考未来。 物联网,一个颠覆性革命,已近在咫尺,面对蓝牙的连接,作为物联网的基础纽带,将为您打开这扇门。本将重点学习android蓝牙开发相关技术知识,让你在互联网、物联网的世界更加游刃有余。
预计学习时长:7天
本系列课程将通过一个HelloWorld实例教会大家如何快速新建自己的Android工程,
介绍Android Studio工程目录结构,并分析工程目录中各部件的作用
通过Logcat打印日志,方便开发者观察程序是否如我所愿的运行,debug模式添加断点调试应用程序,常用的adb命令,DDMS工具分析应用程序的性能.
预计学习时长:7天
学习Android的中社会化分享技术的实现,包括:各大平台官方实现、第三方框架实现,社会化分享数据统计。
预计学习时长:7天
Android的UI控件是开发App应用程序界面设计的主要组件,一个商业级界面的制作,需要对android UI控件的熟练掌握和灵活使用。本章讲解Android界面开发中UI控件使用。
预计学习时长:14天
随着移动互联网的不断发展,Android开发成为了大多数程序员选择的对象,但是非常多的人都是半路出家,根本就不明白Android开发其中的一些原理以及实现的方法,只是能够片面性的运用别人写好的代码。
因此:本套视频教程将从实践的角度带你学习Android推送的知识。在使用中理解Android推送的原理。通过对Android推送基本原理的了解,进一步的熟悉三方平台推送库,从更多的方面理解和学习Android的推送。
预计学习时长:7天
本课程学习Android中LBS定位技术的实现。
预计学习时长:7天
本课程主要通过百度壁纸的案例,讲述Android ui设计中的基本控件、自定义控件和自定义组合控件的简单使用,各个衔接模块通过案例举一反三,同一模块通过多种技术实现,增强学生对技术的一个认知和了解,同时让学生对Android技术产生浓厚的兴趣,真正的体会Android界面设计的布局之美。
预计学习时长:7天
本课程学习Android的NDK和JNI的技术使用。
预计学习时长:7天
本课程学习Android中电话和短信的使用。
预计学习时长:7天
本课程学习Android中Launcher和Widget的使用。
预计学习时长:7天
在学习完成Android的Activity和一些常用android UI控件后,我们以一个小android项目实战来练习我们学习的内容,目的在于:锻炼布局、熟练掌握常用控件的使用,控件的数据绑定,Activity的生命周期,Activity跳转,Activity间传递数据。
预计学习时长:14天
在android学习过程中,项目开发是重点学习的内容之一,本章就将带领大家一起来进行android项目实战,用android程序开发、制作简易版的QQ,将前几个阶段学习的理论知识,充分在实践中重现。
预计学习时长:7天
第一阶段:Android基础
第二阶段:Android进阶
第三阶段:Android高级应用
第四阶段:Android能力提升
第五阶段:Android应用(选修)
Copyright (C)
麦子学院 All Right Reserved. 蜀ICP备号-4
服务热线:400-862-8862
还没有账号?
其他方式登录
滑动完成验证
重发验证码
手机短信验证码已发送,请查收!
有一位课程导师想与你聊聊
客服热线 400-862-8862

我要回帖

 

随机推荐