1 主要是通过更改view 的大小来改变视频的大小。

2 在视频初始化时获得视频的高宽都为0 ,这个必须要注意,必须播放后延时 修改view 大小

3 sufaceview 的布局类是 android.widget.LinearLayout.LayoutParams 这个必须注意(在设置布局时一定要注意父对象的类型)

4 在 sufaceview surfaceChanged事件中加入 mediaPlayer.setDisplay(arg0) ,  setDisplay 方法在任意时刻都是可以调用的

try {

Log.e("m3u8", mediapath);

mediaPlayer = new MediaPlayer();

// 开始准备播放

uiHandler.sendMessage(uiHandler

.obtainMessage(MediaPlayerMessage.PREPARE));

// 设置媒体的路径

mediaPlayer.setDataSource(mediapath);

// 设置边播放变缓冲

mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

mediaPlayer.prepareAsync();

} catch (Exception e) {

// TODO: handle exception

Log.e("meidaplayer err ", e.toString());

}

/**

* 播放器异常事件

*/

mediaPlayer.setOnErrorListener(new OnErrorListener() {

@Override

public boolean onError(MediaPlayer mp, int what, int extra) {

// TODO Auto-generated method stub

mediaPlayer.release();

return false;

}

});

//视频准备完成 可以播放

mediaPlayer.setOnPreparedListener(new OnPreparedListener() {

@Override

public void onPrepared(MediaPlayer mp) {

// TODO Auto-generated method stub

try {

mp.start();

//给ui 界面发送消息 这里有个延时是设置 如果不设置延时 会出现 获得视频的高宽为零的文件

uiHandler.sendEmptyMessageDelayed(MediaPlayerMessage.SETSIZE, 1000);

} catch (Exception e) {

// TODO: handle exception

Log.e("start mediaplayer", e.toString());

}

}

});

case MediaPlayerMessage.SETSIZE:

int mVideoWidth = mediaPlayerView.mediaPlayer.getVideoWidth();

int mVideoHeight = mediaPlayerView.mediaPlayer.getVideoHeight();

int width=_frameLayout_main.getWidth();

int height=_frameLayout_main.getHeight();

android.widget.LinearLayout.LayoutParams sufaceviewParams = (android.widget.LinearLayout.LayoutParams) mediapaly_sufaceview

.getLayoutParams(); if ( mVideoWidth * height > width * mVideoHeight ) {

//Log.i("@@@", "image too tall, correcting");

sufaceviewParams.height = width * mVideoHeight / mVideoWidth;

} else if ( mVideoWidth * height < width * mVideoHeight ) {

//Log.i("@@@", "image too wide, correcting");

sufaceviewParams.width = height * mVideoWidth / mVideoHeight;

}else{

sufaceviewParams.height=height;

sufaceviewParams.width = width;

}

sufaceviewParams.gravity=Gravity.CENTER;

mediapaly_sufaceview.setLayoutParams(sufaceviewParams);

break;

//更在 surface 大小后事件 @Override

public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) {

// TODO Auto-generated method stub

Log.e("Surface h w", String.valueOf(arg2) + " " + String.valueOf(arg3));

if (mediaPlayer != null) {

mediaPlayer.setDisplay(arg0); }

}

android修改屏幕大小设置,android mediaplayer 视频修改视频大小 (屏幕尺寸mediaPlayer =......相关推荐

  1. 小米手机android目录在哪里设置字体,在哪里修改小米手机的字体大小

    在哪里修改小米手机的字体大小 年轻人视力比较好,可以适应得了小米手机默认的字体大小.但是老年人容易远视,需要看大号的字体,现在小编就来教大家修改字体的方法. 具体如下: 1. 首先,我们登录手机的&q ...

  2. android控制台字体大小设置,Android studio 4.1 豆沙护眼色配置、字体大小设置、内存大小设置...

    1.左边目录栏颜色配置: 2.代码编辑区域背景色设置 3.控制台背景色设置 4.菜单栏.工具栏.左边栏字体大小设置 6.修改内存大小.显示内存 例如:修改android-studio/bin/stud ...

  3. android 界面大小设置在哪里,移动应用界面设计的尺寸设置及规范

    刚接触移动应用的界面设计,最先跳入脑海的疑问是:画布尺寸设计多大(特别是Android).图标和字体大小怎么定.需要设计多套设计稿么.如何切图以配合开发的实现? 本篇将结合iOS和android官方的 ...

  4. android studio app字体大小设置,Android Studio App设置TextView文字内容大小颜色

    设置TextView文字内容大小颜色 1.第一种方法在activity_main.xml李设置,Java文件不用改: android:text="这里是文字" android:te ...

  5. android 横屏竖屏设置,Android中强制设置横屏与竖屏,与横竖屏生命周期的设置

    许多小的知识点,是面试中经常会被提问到的,面试题也方式也会不一样,比如,让你在配置文件中设置Activity 为竖屏模式,答题方式是把相关的配置节点代码也给写出来,多少有点懵逼... 全屏 在Acti ...

  6. 【错误记录】未安装该应用 ( 在 Android 12 之后 组件设置 android:exported=“false“ 属性 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 报错信息 : 点击应用图标后 , 应用并未启动 , 并弹出 " 未安装该应用 " 提示信息 ; 二.解决方案 排查了一下相关地方 ...

  7. android studio怎么设置,android studio快捷键如何设置 android studio快捷键设置方法

    Android studio的快捷键是一个很方便的存在,在编程的时候,我们都更习惯使用键盘,快捷键的操作可以提高编程效率,那么android studio快捷键如何设置呢,下面来看看设置方法. 快捷键 ...

  8. android phone恢复出厂设置,Android手机正确恢复出厂设置方法

    Android手机正确恢复出厂设置方法 作为一款智能操作系统,Android也内置了许多其他智能操作系统共有的功能,比如每部手机都必备的恢复出厂设置.那么Android手机该如何设置,才能让它正确的恢 ...

  9. android textview 字体颜色设置,Android textview 设置不同的字体大小和颜色

    在实际应用中,需要将一个字符串已不同的颜色,字体显示出来.当然完全可以通过不同textview拼接出来.也可以通过一个textview来展示. 步骤如下: 1.定义不同style . 不妨如下定义2个 ...

最新文章

  1. Python爬虫小偏方:如何用robots.txt快速抓取网站?
  2. python学习笔记一 一变量与运算符
  3. php 请求url没有扩展名,apache – 将.php重定向到无扩展名,并在没有.php的情况下创建url...
  4. 【转】算法导论学习笔记 一 分治算法
  5. 小白Linux下安装mysql
  6. 特斯拉又烧一辆!车库里起火 所幸无人受伤
  7. SpringBoot:Spring boot 主程序的功能SpringApplication.run(启动流程)
  8. 认识什么是运维中的CI/CD---持续集成交付工作笔记001
  9. 单行溢出隐藏没生效_至今没搞懂,为什么这个缸这么火?
  10. 手把手教你用R语言制作网络爬虫机器人(一)
  11. 腐蚀单机服务器怎么不稳定,腐蚀有什么指令?基本指令及服务器指令汇总
  12. Dev-C++/Cpp使用入门详解
  13. 锐捷Linux版的下载和使用(福大客户端)
  14. 上海航芯 | 从STM32F103到ACM32F403的U盘程序移植工程
  15. 51nod3155 跳房子
  16. html缩小照片尺寸像素不变,怎么把图片变小 像素不变
  17. Zynq术语详解,不懂啥是PL,PS,APU,SCU?那就进来看看吧
  18. post请求或get请求通过url传递参数
  19. MJT's Blog
  20. ASP.NET中使用uedit遇到的坑们

热门文章

  1. 华为已注册商标鸿蒙,华为已注册华为鸿蒙商标:整本山海经都被华为注册了
  2. 花菁染料cas138248-55-2齐岳生物
  3. Ubuntu 16.04 amd64下deb安装gcc5.4和所有依赖
  4. 各大搜索引擎蜘蛛IP地址大全
  5. 三星a52屏幕刷新率设置方法分享
  6. 【algorithm】源码详解中国大陆新身份证号码算法
  7. PAUL:Patch-based Discriminative Feature Learning for Unsupervised Person Re-identification阅读总结
  8. python import lap 出错
  9. python pip install一些第三方库的时候error
  10. 电大计算机专业英语形成性考试,电大资源网《管理英语1》形成性考核册作业题目和答案2018年...