前言

这就只做使用MediaCodec+SurfaceView播放视频

PS 这里不涉及音频播放,只显示视频帧出来。

正文

这里只简单记录一下,推荐看我参考的文章,我用的就是他的代码。

原理

  1. 通过MediaExtractor获取媒体的编码信息[Track索引,MediaMime,MediaFormat]
  2. 根据编码信息进行创建MediaCodec
  3. 在子线程循环dequeueInputBuffer和queueInputBuffer等获取视频帧信息,并刷新给SurfaceView

隐藏内容!
付费阅读后才能查看!
3
多个隐藏块只需支付一次

参考文章

  1. 使用MediaCodec+AudioTrack进行简单的音视频播放_leilu000的博客-CSDN博客
  2. 深入理解Android音视频同步机制(五)如何从零开始写一个音视频同步的播放器_zhanghui_cuc的博客-CSDN博客
  3. 等,其他的忘了

 历史上的今天

  1. 2021: Android TextView文本颜色线性渐变(包括上下和左右渐变)(0条评论)
  2. 2021: Android 高版本权限检测和申请(0条评论)
  3. 2019: 王小波:人为什么活着(0条评论)
版权声明 1、 本站名称: 91易搜
2、 本站网址: 91es.com3xcn.com
3、 本站内容: 部分来源于网络,仅供学习和参考,若侵权请留言
3、 本站申明: 个人流水账日记,内容并不保证有效

暂无评论

暂无评论...

随机推荐

JNI动态注册封装C语言版

前言在上一篇《JNI调用Java方法》的动态注册并调用Java方法,上次也说了可以把公共部分封装一下。说干就干,今天就把上次代码封装一下。正文我这不介绍完整的动态注册,有需要可以看《JNI动态注册》。这里只是个人流水账。Hello.javapackage com.biumall.dyn...

[摘]Android音频焦点处理

概要Android系统允许多个应用同时播放音频,这种特性有利有弊。例如当我们正在听音乐的时候突然点开了一个视频,如果我们发现音乐的声音和视频的的声音混合了在一起,这显然让我们非常不爽。而如果我们在播放音乐的时候,突然来了一条信息,这个时候,我们既希望能听到短信的提示音,又不希望音乐此刻停止,而是...

戴望舒:致萤火

萤火,萤火,你来照我。 照我,照这沾露的草,照这泥土,照到你老。 我躺在这里,让一颗芽穿过我的躯体,我的心,长成树,开花; 让一片青色的藓苔,那么轻,那么轻把我全身遮盖, 象一双小手纤纤,当往日我在昼眠,把一条薄被在我身上轻披...

沈从文 : 独处

在我一个自传里,我曾经提到过水给我种种的印象。檐溜、小小的河流、汪洋万顷的大海,莫不对于我有过极大的帮助。我学会用小小脑子去思索一切,全亏得是水。我对于宇宙认识得深一点,也亏得是水。“孤独一点,在你缺少一切的时节,你就会发现,原来还有个你自己。”这是一句真话。我有我自己的生活与理想,可以说是...

lateinit和by lazy简单使用

前言记录一下Kotlin中lateinit和by lazy简单使用。正文lateinit为延迟初始化属性。lateinit用于延迟初始化一个var可变属性。属性类型必须是非空的且不能是原始类型(如 Int, Double)。经常在类中定义属性时class Person{   v...

老舍:春风

济南与青岛是多么不相同的地方呢!一个设若比作穿肥袖马褂的老先生,那一个便应当是摩登的少女。可是这两处不无相似之点。拿气候说吧,济南的夏天可以热死人,而青岛是有名的避暑所在;冬天,济南也比青岛冷。但是,两地的春秋颇有点相同。济南到春天多风,青岛也是这样;济南的秋天是长而晴美,青岛亦然。对于秋天,我不...