首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

FFmpeg开发笔记(五十五)寒冬里的安卓程序员可进阶修炼的几种姿势

二、横向拓展安卓开发的新功能新应用除了谷歌爸爸推出的组件库,还有其他专业领域的第三方库,能够实现与众不同的新功能。...再如初级安卓只会通过VideoView和ExoPlayer播放视频,但是音视频方面更需要实时交互和动态剪辑,那么WebRTC、FFmpeg、RTMP/SRT(直播协议)就是必须掌握的。...嗯,学习音视频和FFmpeg编程技术推荐这本书《FFmpeg开发实战:从零基础到短视频上线》,该书详细介绍了如何在Windows系统和Linux系统分别搭建FFmpeg的开发环境,第12章还介绍了如何通过...三、打开思路迈向Android+N的新天地除了常见的App应用开发之外,安卓与其他行业结合还能产生更多的就业岗位。...比如Android+汽车行业就产生了车机开发,那要学习车载系统Automotive OS,以及外景系统EVS、娱乐系统IVI等等。

13610
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    视频H5 video最佳实践

    换句话说,如果APP不设置,你页面中加了这标签也无效,这也就是为什么安卓手机WeChat 播放视频总是全屏,因为APP不支持playsinline,而ISO的WeChat却支持。...这里就要补充下,如果是想做全屏直播或者全屏H5体验的用户,IOS需要设置删除 webkit-playsinline 标签,因为你设置 false 是不支持的 ,安卓则不需要,因为默认全屏。...: 启用同层H5播放器,就是在视频全屏的时候,div可以呈现在视频层上,也是WeChat安卓版特有的属性。...至于为什么同层播放只对安卓开放,是因为安卓不能像ISO一样局域播放,默认的全屏会使得一些界面操作被阻拦,如果是全屏H5还好,但是做直播的话,诸如弹幕那样的功能就无法实现了,所以这时候同层播放的概念就解决了这个问题...安卓微信浏览器是X5内核,一些属性标签比如playsinline就不支持,所以始终全屏。

    4.6K30

    H5直播避坑指南

    页面内联播放问题 在iOS Safari和一些安卓的一些浏览器下播放视频的时候,不能在h5页面中播放视频,系统会自动接管视频 如果需要在h5页面内播放视频,需要在视频标签上加上 webkit-playsinline...视频的高度问题 在安卓下,一些浏览器如QQ浏览器和UC浏览器,系统会把视频的层级调到最高,所以如果想在页面上显示dom元素,都会被视频盖住,单纯的设置该dom的z-index是无效的,如图所示 ?...但是在测试中发现,一些安卓机不支持该属性,如小米手机,所以需要在调用的时候进行一下判断 var player = $('#player')[0];if (player.webkitSupportsFullscreen...这种接管的后果是这时的我们是没有办法控制视频的播放,也没有办法在上面浮动我们的dom元素,如弹幕,礼物这些,会完全被视频盖在下面,所以我们的目标即是解决这种系统接管的问题 3)使用伪全屏(样式全屏)...如果发现在x5内核下无法使用伪全屏而被浏览器接管,可以咨询下x5同事为你的域名开启白名单,不接管你域名下的视频播放 总结: 在经历过各种优化和调整后,我们可以在h5直播页做到看直播,看弹幕,发弹幕,发送礼物

    10.9K151

    Android N上一些新特性的介绍「建议收藏」

    最为重要的是,新的emoji表情将采用人们一贯熟悉的风格,避免用户在使用中产生误解。...新的系统快捷开关 在Android N中,下拉打开通知栏顶部即可显示5个用户常用的快捷开关,支持单击开关以及长按进入对应设置。...更快应用安装速度 Android N中采用了一项具有实时代码剖析功能的ARI JIT编译器,它能够在安卓应用程序在运行时不断提高自身的性能,其带来的另一项优势就是能够为应用安装引入一种新的“快速通道...”(quick path),能够大大加快应用安装和系统更新的速度,即便是那些大型的应用程序如游戏,在安卓6.0中需要几分钟时间才能安装和优化完成的,在安卓7.0中仅仅需要几秒钟就可以搞定。...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1.3K20

    H5直播避坑指南

    页面内联播放问题 在iOS Safari和一些安卓的一些浏览器下播放视频的时候,不能在h5页面中播放视频,系统会自动接管视频 如果需要在h5页面内播放视频,需要在视频标签上加上 webkit-playsinline...视频的高度问题 在安卓下,一些浏览器如QQ浏览器和UC浏览器,系统会把视频的层级调到最高,所以如果想在页面上显示dom元素,都会被视频盖住,单纯的设置该dom的z-index是无效的,如图所示 [1498530055801...但是在测试中发现,一些安卓机不支持该属性,如小米手机,所以需要在调用的时候进行一下判断 var player = $('#player')[0];if (player.webkitSupportsFullscreen...这种接管的后果是这时的我们是没有办法控制视频的播放,也没有办法在上面浮动我们的dom元素,如弹幕,礼物这些,会完全被视频盖在下面,所以我们的目标即是解决这种系统接管的问题 3)使用伪全屏(样式全屏) 样式全屏的核心是设置...如果发现在x5内核下无法使用伪全屏而被浏览器接管,可以咨询下x5同事为你的域名开启白名单,不接管你域名下的视频播放 总结: 在经历过各种优化和调整后,我们可以在h5直播页做到看直播,看弹幕,发弹幕,发送礼物

    5.5K130

    H5 直播避坑指南

    页面内联播放问题 在iOS Safari和一些安卓的一些浏览器下播放视频的时候,不能在h5页面中播放视频,系统会自动接管视频 如果需要在h5页面内播放视频,需要在视频标签上加上 webkit-playsinline...视频的高度问题 在安卓下,一些浏览器如QQ浏览器和UC浏览器,系统会把视频的层级调到最高,所以如果想在页面上显示dom元素,都会被视频盖住,单纯的设置该dom的z-index是无效的,如图所示 ?...但是在测试中发现,一些安卓机不支持该属性,如小米手机,所以需要在调用的时候进行一下判断 var player = $('#player')[0];if (player.webkitSupportsFullscreen...这种接管的后果是这时的我们是没有办法控制视频的播放,也没有办法在上面浮动我们的dom元素,如弹幕,礼物这些,会完全被视频盖在下面,所以我们的目标即是解决这种系统接管的问题 3)使用伪全屏(样式全屏)...如果发现在x5内核下无法使用伪全屏而被浏览器接管,可以咨询下x5同事为你的域名开启白名单,不接管你域名下的视频播放 总结: 在经历过各种优化和调整后,我们可以在h5直播页做到看直播,看弹幕,发弹幕,发送礼物

    2.9K90

    android刘海屏适配(刘海屏或圆角适配)

    大家好,又见面了,我是你们的朋友全栈君。 安卓P版本也就是刚发布的安卓9.0 其中就加入了刘海屏相关的API。...针对未适配或在Android P版本体验欠佳的应用, 应用市场将在Android P版本机型上采取屏蔽或不推荐更新策略, 可能会对您的推广、用户口碑及品牌产生影响。...但是国内厂商为了快速抢占全面屏手机市场,在安卓系统8.1的基础上,硬件就弄出了刘海屏,例如华为nova 3e, oneplus 6, oppo r15, vivo x21,但是系统支持没有更上,没有一个统一的...新建API 28的模拟器后,自定义分辨率,高宽比最好设置为2以上,比如2280 * 1080。安卓系统默认支持的宽高比是1.7-1.8左右。具体多少值忘记了。有同学知道的在下方留言哦。...正如前面说到的安卓系统默认支持的宽高比是1.7-1.8左右,现在流行的全面屏手机分辨率宽高比大于了这个数,导致屏幕区域不能利用完全,就出现了黑色区域。解决办法也很简单。

    2.2K10

    H5案例分享:微信视频播放全屏问题(转)

    preload="auto" webkit-playsinline="true" /*这个属性是ios 10中设置可以 让视频在小窗内播放,也就是不是全屏播放...换句话说,如果APP不设置,你页面中加了这标签也无效,这也就是为什么安卓手机WeChat 播放视频总是全屏,因为APP不支持playsinline,而ISO的WeChat却支持。...这里就要补充下,如果是想做全屏直播或者全屏H5体验的用户,ISO需要设置删除 webkit-playsinline 标签,因为你设置 false 是不支持的 ,安卓则不需要,因为默认全屏。...x5-video-player-type:启用同层H5播放器,就是在视频全屏的时候,div可以呈现在视频层上,也是WeChat安卓版特有的属性。...至于为什么同层播放只对安卓开放,是因为安卓不能像ISO一样局域播放,默认的全屏会使得一些界面操作被阻拦,如果是全屏H5还好,但是做直播的话,诸如弹幕那样的功能就无法实现了,所以这时候同层播放的概念就解决了这个问题

    6.8K30

    Android开发笔记(一百二十五)自定义视频播放器

    但是不积跬步无以至千里,如果我们要定制一个好用好看的播放器,还是得先把笨拙的VideoView与MediaController搞清楚才行。...2、在代码中动态添加VideoView。 VideoView对象的使用步骤同上。...: 1、增强VideoView的功能,可以派生一个子类出来,重写尺寸测量方法onMeasure,实现自动全屏;重写触摸监听方法onTouch,实现音量的调节;以及补充设置标题和背景的新方法; 2、定制...如果只是修改代码,其实还不能完全实现自动全屏的功能,主要问题如下: 1、屏幕顶部的系统状态栏依然留在屏幕顶端; 2、App自身的导航栏也仍旧没有隐藏; 3、在视频播放途中,如果手机屏幕发生切换,例如从竖屏变为横屏...,那么视频播放就会停止,回到页面刚进去的初始状态; 对于前两个问题,可通过设置页面主题来予以调整,如下所示,设置属性android:windowFullscreen来隐藏系统状态栏,设置属性android

    2.8K40

    H5活动宣传页通用布局技术解决方案

    本文作者:IMWeb 结一 原文出处:IMWeb社区 未经同意,禁止转载 一般来说,活动宣传页都是全屏的滑动,而移动端的视窗大小确实是有点零碎化,于是将内容在不同的手机上良好展示出现就显得有点挑战了...本文旨在通过对一个个疑难点进行攻克而形成一种通用解决方案。 活动宣传页面分析 以imweb conf的第一屏为例,如下图: ?...根据caniuse的兼容报告,有以下两点需要注意: 安卓4.3- 不支持将background-size缩写进background,所以必须单独申明这个样式 安卓4.3-不支持background-size...固定宽度的内容 先把所有元素放在一个容器中,对这个容器进行垂直居中定位,水平全屏。里面实际元素的定位,则根据这个容器进行。...视窗高度的百分比 如果你的某个元素的定位或大小是基于视窗的高度来计算的,这就有点麻烦了,尤其是嵌套了好几层的情况。 css3提供了一个v系列的单位,其中vh就表示视窗的高度,但是安卓4.3-不支持。

    1.7K50

    H5活动宣传页通用布局技术解决方案

    本文作者:IMWeb 结一 原文出处:IMWeb社区 未经同意,禁止转载 一般来说,活动宣传页都是全屏的滑动,而移动端的视窗大小确实是有点零碎化,于是将内容在不同的手机上良好展示出现就显得有点挑战了...本文旨在通过对一个个疑难点进行攻克而形成一种通用解决方案。 活动宣传页面分析 以imweb conf的第一屏为例,如下图: ?...根据caniuse的兼容报告,有以下两点需要注意: 安卓4.3- 不支持将background-size缩写进background,所以必须单独申明这个样式 安卓4.3-不支持background-size...固定宽度的内容 先把所有元素放在一个容器中,对这个容器进行垂直居中定位,水平全屏。里面实际元素的定位,则根据这个容器进行。...视窗高度的百分比 如果你的某个元素的定位或大小是基于视窗的高度来计算的,这就有点麻烦了,尤其是嵌套了好几层的情况。 css3提供了一个v系列的单位,其中vh就表示视窗的高度,但是安卓4.3-不支持。

    1.4K42

    微信8.0.0来了!新增爆炸等表情特效

    升级到8.0.0,首先你能看到的是下面这些启动屏 新形态表情 微信 8.0.0 为自带的表情进行了设计上的调整, 自带表情更显3D效果,如 在聊天中使用表情可以发现呈显的3D缩放等动效, 其中部分表情还有特殊动态效果...状态 新版微信用户在个人信息页面 根据自己的心情选择微信状态, 有心情想法、工作学习、活动、休息等分类。 状态可以添加照片、添加位置、 设定可见对象等。...设置后, 状态会展示在个人页面内, 不同的状态, 呈现不同的主题色。 当然也可以选择结束和更换状态。 设置过“状态”的微信好友, 只有升级到8.0.0的用户才能 看到好友设置的”状态“。...点击左上角的浮窗按钮之后, 会打开浮窗页面, 下图为浮窗页面新样式。...截止目前, 微信只对iOS 8.0.0开放下载更新, 安卓版本目前在内测中, 安卓用户需要抢先体验8.0.0内测版的

    2.8K10

    H5活动宣传页通用布局技术解决方案

    一般来说,活动宣传页都是全屏的滑动,而移动端的视窗大小确实是有点零碎化,于是将内容在不同的手机上良好展示出现就显得有点挑战了。本文旨在通过对一个个疑难点进行攻克而形成一种通用解决方案。...活动宣传页面分析 以imweb conf的第一屏为例,如下图: 现在对里面的元素布局进行一个分析: 一个全屏的背景图 ”往届回顾“定位在左上(left, top),IMWeb.io 文字及向上箭头定位为中下...根据caniuse的兼容报告,有以下两点需要注意: 安卓4.3- 不支持将background-size缩写进background,所以必须单独申明这个样式 安卓4.3-不支持background-size...固定宽度的内容 先把所有元素放在一个容器中,对这个容器进行垂直居中定位,水平全屏。里面实际元素的定位,则根据这个容器进行。...视窗高度的百分比 如果你的某个元素的定位或大小是基于视窗的高度来计算的,这就有点麻烦了,尤其是嵌套了好几层的情况。 css3提供了一个v系列的单位,其中vh就表示视窗的高度,但是安卓4.3-不支持。

    1.4K10

    机器学习为核心,DeepMind助力谷歌开发的安卓 9「Pie」今日上线

    Neural Networks 1.1 安卓 9 中包含了神经网络 API 的新版本,以扩展安卓对设备上机器学习加速的支持。...新系统导航 Android 9 引入了一个新系统导航,谷歌为此开发了一年多。新的设计使安卓的多任务处理更加简便,并且更容易发现 app。...用户可以在网络和互联网设置中以新的私有 DNS 模式通过 TLS 行为管理 DNS。...在 Android 9 中,谷歌已经极大地扩展了媒体框架和其它安全组件(如 NFC 和蓝牙)中对 CFI 的使用。...谷歌期待这些改善能带来系统 DEX 内存使用的减少,以及更快的 app 启动时间。 优化 Kotlin Kotlin 是安卓系统的第一语言,如果你尚未尝试过,赶紧!

    2K10

    【愚公系列】《AIGC辅助软件开发》031-AI辅助解决各种疑难杂症:警惕小众场景下的误导性回答

    我通过设置 body.style.overflow = 'hidden' 来禁止页面的全屏滚动。然而,在测试阶段,我发现部分品牌(如 vivo 和一加)的安卓浏览器中禁止滚动的效果失效了。...**高度问题**:在某些情况下,如果 `body` 的高度没有被明确指定或不包含足够的内容以产生滚动条,设置 `overflow: hidden` 可能不会有明显效果。...为什么在部分安卓浏览器中,body设置了overow=hidden 但页面还是可以滚动?...在部分安卓浏览器中,设置 `body.style.overflow = 'hidden'` 后页面仍然可以滚动,通常是由于浏览器在处理滚动和 `overflow` 属性时的差异化行为。...这个问题在某些老旧版本的安卓浏览器和 WebView 实现中较为常见。

    11600

    华为EMUI多窗口模式适配指南

    华为智慧分屏功能介绍 1.1 分屏功能演示 在EMUI10.1中智慧分屏功能已经默认开启,用户也可以通过设置-辅助功能-智慧分屏路径进行开启和关闭。...1.2 智慧分屏创新点 华为智慧分屏,在安卓原生的分屏功能基础上,进行了一系列的优化: (1)收编原有分屏入口,提供统一的多窗口启动入口,可快速完成应用的窗口化启动; (2)为IM类应用消息通知提供悬浮窗入口...2.1 如何声明支持多窗口 华为智慧分屏多窗口适配方法与安卓原生多窗口适配策略相同,在 或 节点中添加声明,启用多窗口显示,即可加入到侧边栏dock列表中...在应用进程中,存在Application和Activity两类Context,其中Application Contex对应的是屏幕资源信息,而Activity Context对应的是窗口的资源信息。...其中getActivityWindowMode(Activity activity)接口可以用来判断应用处于何种窗口类型,onMultiWindowModeChanged接口可以在全屏和分屏切换时应用新的资源信息

    1.6K30

    走进安卓的重灾区----video

    html5的video已经出来很久了。在ios上使用基本上没什么毛病,但是安卓下就是一个重灾区了,各种体验差。这几天搞了安卓的兼容,简直是要吐血。所以特意总结了一些强势的坑点。...坑(本次主要是在微信X5浏览器中的测试,其他安卓浏览器下表现不一定一致) 自动播放 在ios上会自动全屏播放,需要在video标签上设置一个属性 webkit-playsinline,ios10及以上版本属性名改成...那么问题来了,如果页面上不只有视频,还有其他内容呢,例如视频是在一个弹出层中。这样设置的话,页面原有内容会有一个1s左右的非常明显拉伸过程,这个拉伸过程就是为全屏播放视频做准备的。...但是这样的体验可以说是非常糟糕了。于是这种情况下,必须舍弃设置全屏播放了,但是在X5浏览器非全屏播放模式下,安卓会在视频页面右上角自动生成一个全屏按钮,这个怎么都去不掉。...诡异的坑 安卓下,若是摇一摇在弹出层播放视频,若弹出层中有外链,点击了跳转,再返回,这个时候 video 会有一个诡异的bug,具体表现为返回后第一次能正常触发,第二次之后触发都直接播到视频最后一帧,设置

    1.6K00

    这个月被「视频播放」坑惨了,曝光八大坑

    ,当系统设置开启自动旋转时生效;默认为 false。...经测试该属性对 ios 手机有效,安卓手机无效。...若有自定义内容需在全屏时展示,需将内容节点放置到 video 节点内 // 设置全屏时视频的方向,不指定则根据宽高比自动判断。...该接口的使用示例如下: 2.4 全屏横屏播放 在前面学习属性的时候,我们知道 enable-auto-rotation 可以实现手机横屏全屏的效果,但是这个属性对安卓手机无效,所以放弃了使用这个属性,...enable-auto-rotation: 使用该属性时,要注意该属性对安卓机无效。因为自己用的 ios 的手机,折腾了很久才发现这个问题。最后使用 api 实现的全屏播放功能。

    2K10
    领券