正常還是建議用mediaplayer+sufaceview 實現視頻播放。但是由於只是實現簡單的播放功能我就使用了videoview,用videoview播放視頻存在的問題就是在固定好的寬高內播放視頻不是原始視頻比例,所以這就需要做出一些設置更改。

關鍵的問題是獲取視頻的寬高有了這個就可以自定義的去設置播放的視頻比例

通過onPrepared回調獲取mediaplayer對象,這樣我們就可以獲取到了視頻的kuanga

mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {

@Override

public void onPrepared(MediaPlayer mp) {

mp.setOnVideoSizeChangedListener(new MediaPlayer.OnVideoSizeChangedListener() {

@Override

public void onVideoSizeChanged(MediaPlayer mp, int width, int height) {

//FixMe 獲取視頻資源的寬度

mVideoWidth = mp.getVideoWidth();

//FixMe 獲取視頻資源的高度

mVideoHeight = mp.getVideoHeight();

scale = (float) mVideoWidth / (float) mVideoHeight;

refreshPortraitScreen(showVideoHeight == 0 ? DensityUtil.dip2px(context, 300) : showVideoHeight);

android videoview开发播放比例16比9,VideoView按原始視頻比例播放相关推荐

  1. 【Android应用开发】-(16)如何绕开Google Play地区限制

    Google Market自从升级为Google Play,改进了很多功能,我们比较关注的可能还是关于下载的限制.比如说要下某个应用程序,发现所在的地区受到限制,又或者之前曾经用过的应用程序在Goog ...

  2. Android Studio开发安卓app TTS学习,使用TextToSpeech类完成输入文字播放中文

    安卓TextToSpeech Android允许您将文本转换为语音.您不仅可以转换它,还可以用多种不同的语言说文本.Android 为此提供了TextToSpeech类.为了使用此类,您需要实例化此类 ...

  3. 原创:Android应用开发记录-Andorid歌词秀(3)使用的Service的音频播放器

    在下文中我们实现的简单的音乐播放功能. 原创:Android应用开发记录-Andorid歌词秀(2)先来一个音频播放器 但是这样的方式在程序退出后播放也会停止,为了解决这个问题,使用的Service类 ...

  4. 【精品教程】Android应用开发详解pdf分享

    为一本android应用开发书籍,本书既适合android初学者,也适合具备了一定android开发经验但需要开发案例的高级读者. 本书分为三个部分,共18章,由浅入深地详细介绍了android的每个 ...

  5. Android应用开发详解【郭宏志】(奋斗之小鸟)_PDF 电子书

    下载地址:http://pan.baidu.com/share/link?shareid=3637392865&uk=721744522 QQ:2864670220  (提供电子书提取密码) ...

  6. Android应用开发揭秘[高清PDF版+源码]

    编辑推荐 本书内容全面,不仅详细讲解了Android框架.Android组件等基础知识,而且还深入阐述了传感器.语音识别.桌面组件开发等高级知识,最重要的是还全面介绍了如何利用原生的C/C++(NDK ...

  7. 【Android FFMPEG 开发】OpenSLES 播放音频 ( 创建引擎 | 输出混音设置 | 配置输入输出 | 创建播放器 | 获取播放/队列接口 | 回调函数 | 开始播放 | 激活回调 )

    文章目录 I . FFMPEG 播放视频流程 II . OpenSLES 播放音频流程 III . OpenSLES 播放参考 Google 官方示例 IV . OpenSL ES 播放代码 ( 详细 ...

  8. Android 音频开发(四) 如何播放一帧音频数据下

    再看这一篇文章前,如果你是小白,我建议你先看一下Android 音频开发(一) 基础入门篇这一篇.今天继续讲解如何通过Android SDK自带API实现播放一帧音频数据. 我们都知道,Android ...

  9. Android 音频开发(三) 如何播放一帧音频数据上

    上一篇只要介绍了如何采集一帧音频,本篇就讲述如何播放一帧音频数据,这一篇我将分倆篇来详细介绍. Android SDK 提供了3套音频播放的API,分别是:MediaPlayer,SoundPool, ...

最新文章

  1. Linux下实现apache代理tomcat
  2. OpenCV学习笔记(十一)(十二)(十三)(十四)(十五)
  3. [BZOJ2458][BeiJing2011]最小三角形
  4. 你可能对电灯泡一无所知
  5. Facebook 正在大规模重构 React Native
  6. 20-172-040-安装-Flink单机安装 flink-1.7.2-bin-hadoop27-scala_2.11
  7. Slog29_支配vue框架初阶项目之博客网站-注册页面-单选按钮
  8. 2017 上半年总结
  9. CentOS6.2(64bit)下mysql5.6.16主从同步配置
  10. 达观智能制造知识图谱平台助力实现先进制造业“十四五”规划
  11. sr里简体中文的代码_各国语言代码大全Locale ID (LCID)表
  12. 企业微信开发服务端报错汇总(手把手教你企业微信开发五)
  13. 设计必备的配色工具01
  14. Word2013批量修改图片尺寸
  15. Linux内核中dev_info、dev_dbg、dev_err及动态调试
  16. html字体图标设置
  17. Vue.js使用Blob的方式实现excel表格的下载(流文件下载)
  18. XP系统硬盘安装Ubuntu14.04-超详细
  19. 如何让自己做任何事情都很有条理?适合规划工作计划的清单便签
  20. 7.4 期望值和方差

热门文章

  1. Python + Uniprot获取蛋白质的功能向量
  2. HandlerThread源码分析
  3. weblogic容器通过JSP页面输出图片出现乱码Tomcat下却正常
  4. 【什么是iMessage推送,im群发】苹果推iMessage是苹果公司为其设备用户提供的即时通讯服务
  5. 分布数据图-R/python
  6. 消息称小米汽车总部将落户北京
  7. STRUTS2核心控制器 FilterDispatcher
  8. 几种算法-----n的阶乘
  9. 有序与无序(Order and disorder)
  10. SoapClient原生类在开发以及安全中利用