当前位置: 首页 > news >正文

android studio视频路径,Android studio相关设置及实现存在于工程目录中的视频播放...

一:相关设置

1:主题设置

File-->Settings-->Appearance &Behavior-->Appearance-->THeme

2:Java源码的颜色、字体设置

字体:File-->Settings-->Editor-->Colors&Fonts-->Font

注意:修改之前先Save as保存原来的,然后才可以改成你想要的字体。

源码颜色:File-->Settings-->Editor-->Colors&Fonts-->Java-->在底下的代码中选择相应的代码-->在右上双击Foreground改变颜色

3:如果不想要白色的背景,可以这样修改:

File-->Settings-->Editor-->Colors&Fonts-->General-->Save as -->双击Background(右上)后边的框即可改变颜色。

二:实现存在于工程目录中的视频播放(思路将按照我的项目实际过程来展开)

1:在Android 中播放视频的方式有两种: *第一种方式是使用MediaPlayer 结合SurfaceView 来播放,通过MediaPlayer来控制视频的播放、暂停、进度等;

通过SurfaceView 来显示视频内容;

优点:灵活性高,可以进行自定义;

缺点:难度比较大;

*第二种方式是使用VideoView 来播放,这个类其实也是继承了SurfaceView 类,并且实现了MediaController.

MediaPlayerController 这个用于控制媒体播放的接口,另外在VideoView上还有一个用于对媒体播放进行控制

的面板,包括快进、快退、播放、暂停按钮以及一个进度条;

优点:比较简单,可以直接进行使用;

缺点:灵活性不高;

2、下面介绍VideoView的使用方法:

视频路径设置:

1 video.setVideoURI(Uri.parse("android.resource://com.example.zhaowanlxx.xinxin/" +R.raw.cc_1));2 video.start();

媒体控制面版常用方法:MediaController:

* hide(); 隐藏MediaController;

* show();显示MediaController;

* show(int timeout);设置MediaController显示的时间,以毫秒计算,如果设置为0则一直到调用hide()时隐藏;

三:步骤

1:首先建立一个android studio工程

2:在res下面建立一个raw文件夹,将视频放进去。

3:然后编码实现:源代码参考:

seevideo.java:

2 import java.io.File;3 import android.app.Activity;4 import android.content.Intent;5 import android.media.MediaPlayer;6 import android.media.MediaPlayer.OnCompletionListener;7 import android.net.Uri;8 import android.os.Bundle;9 import android.widget.MediaController;10 import android.widget.RelativeLayout;11 import android.widget.Toast;12 import android.widget.VideoView;13 public classseevideo extends Activity{14

15 privateVideoView video;16

17 /** Called when the activity is firstcreated.*/

18 @Override19 public voidonCreate(Bundle savedInstanceState) {20 super.onCreate(savedInstanceState);21 setContentView(R.layout.video);22

23 video=(VideoView) findViewById(R.id.video);24 MediaController mc=new MediaController(seevideo.this); //创建一个MediaController对象

25 video.setMediaController(mc); //将VideoView与MediaController关联起来

26 video.setVideoURI(Uri.parse("android.resource://com.example.zhaowanlxx.xinxin/" +R.raw.cc_1));27 video.requestFocus(); //设置VideoView获取焦点

28

29 try{30 video.start(); //播放视频

31 }catch(Exception e) {32 e.printStackTrace();33 }34

35 //设置VideoView的Completion事件监听器

36 video.setOnCompletionListener(newOnCompletionListener() {37 @Override38 public voidonCompletion(MediaPlayer mp) {39 Toast.makeText(seevideo.this, "视频播放完毕!", Toast.LENGTH_SHORT).show();40 finish();41 }42 });43

44

45 }46

47

48 }

video.xml:

1 <?xml version="1.0" encoding="utf-8"?>

2

3

4

5 android:layout_width="match_parent"

6 android:layout_height="match_parent"

7 android:orientation="vertical" >

8

9

11 android:layout_width="match_parent"

12 android:layout_height="match_parent"

13 android:layout_gravity="center" />

14

15

4:然后你会发现很多问题:

(1)想让视频全屏:

在Activity的onCreate方法中的setContentView(myview)调用之前添加下面代码

1 requestWindowFeature(Window.FEATURE_NO_TITLE);//隐藏标题

2getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,3 WindowManager.LayoutParams.FLAG_FULLSCREEN);//设置全屏

(2)想横屏观看:

注:竖屏为:SCREEN_ORIENTATION_PORTRAIT

横屏为:SCREEN_ORIENTATION_LANDSCAPE

1@Override2 protected voidonResume() {3 /*设置为横屏*/

4 if(getRequestedOrientation()!=ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){5setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);6}7super.onResume();8 }

或者:在配置文件AndroidManifest.xml中对Activity节点添加android:screenOrientation属性(landscape是横向,portrait是纵向)

1 android:launchMode="singleTask"

2 android:screenOrientation="portrait">

***关于Android中Activity的横竖屏切换问题可以通过AndroidManifest.xml文件中的Activity来配置:

1 android:screenOrientation=["unspecified" | "user" | "behind" |

2 "landscape" | "portrait" |

3 "sensor" | "nonsensor"]4screenOrientation 用来指定Activity的在设备上显示的方向,每个值代表如下含义:5 "unspecified"默认值 由系统来判断显示方向.判定的策略是和设备相关的,所以不同的设备会有不同的显示方向.6 "landscape"横屏显示(宽比高要长)7 "portrait"竖屏显示(高比宽要长)8 "user"用户当前首选的方向9 "behind"和该Activity下面的那个Activity的方向一致(在Activity堆栈中的)10 "sensor"有物理的感应器来决定。如果用户旋转设备这屏幕会横竖屏切换。11 "nosensor" 忽略物理感应器,这样就不会随着用户旋转设备而更改了 ( "unspecified"设置除外 )。

(3)不加任何旋转屏幕的处理代码的时候,旋转屏幕将会导致系统把当前activity关闭。

解决:

如果只是简单的界面调整,我们可以阻止此问题的发生,屏幕旋转而自己调整屏幕的元素重构。

首先我们需要修改AndroidManifest.xml文件:

在activity中添加:

1

2 android:configChanges="orientation|keyboard"

3

这样是让程序能够响应旋转屏幕的事件。

然后重写onConfigurationChanged方法:

1 @Override2 public voidonConfigurationChanged(Configuration newConfig) {3 //TODO Auto-generated method stub

4 super.onConfigurationChanged(newConfig);5 Log.v("== onConfigurationChanged");6 processLayout();7 }

原文:http://www.cnblogs.com/zhaowan/p/4743415.html

相关文章:

  • android wear 1.6,玩的就是情怀 外国网友将CS 1.6移植到了Android Wear上
  • ability鸿蒙,Day8 鸿蒙,一个Ability全家桶究竟包括了什么(一)
  • Android网页文字进度,Android webview 进度显示
  • android仿qq侧滑删除,Android仿QQ微信侧滑删除效果
  • html 重置样式表,CSS 浏览器样式重置终结版
  • 压缩html源文件,js代码压缩还原详解
  • html5随机选取文本框,HTML5交互式电子邮件(带输入框和选择框)
  • html格子切换效果图,(HTML)关于格子流布局方案可以如此设计
  • android密码设成星号,将EditText密码掩码字符更改为星号(*)
  • 江西赣州信丰2021高考成绩查询,2021上半年江西信丰县教资面试成绩查询入口
  • 计算机应用bsp什么意思,bsp是什么
  • 指利用计算机技术实现对文本篇章的理解,【人工智能课|人工智能自然语言处理技术是什么】- 环球网校...
  • 微型计算机结构认识,认识《微机原理》
  • 土木工程计算机仿真学科未来前景,土木工程学院土木工程计算机仿真2010级学历教育硕士--培养方案...
  • 本科会计大二转学美国学计算机,国内本科生可以转学去美国:最佳时机在大二!...
  • 【comparator, comparable】小总结
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • angular学习第一篇-----环境搭建
  • Bytom交易说明(账户管理模式)
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • es6(二):字符串的扩展
  • mongodb--安装和初步使用教程
  • Mysql优化
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • Node 版本管理
  • python docx文档转html页面
  • Python连接Oracle
  • webpack4 一点通
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 实现简单的正则表达式引擎
  • 原生 js 实现移动端 Touch 滑动反弹
  • 第二十章:异步和文件I/O.(二十三)
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • #if和#ifdef区别
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • $NOIp2018$劝退记
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (二)学习JVM —— 垃圾回收机制
  • (推荐)叮当——中文语音对话机器人
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转)http协议
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • (轉貼) UML中文FAQ (OO) (UML)
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • .Net FrameWork总结
  • .NET Project Open Day(2011.11.13)
  • /var/spool/postfix/maildrop 下有大量文件
  • ??在JSP中,java和JavaScript如何交互?
  • [20190113]四校联考