android通用播放器
chodison
本人爱好流媒体播放器开发、android技术交流等等
展开
-
【第一篇章-android平台buffer播放探索】native media
在android平台,从4.0开始,提出了openmax架构,所以在DNK的R7版本中有了openmax AL层播放的DEMO即native media,这个DEMO就是读本地文件,然后把所读buffer通过openmax AL接口送给解码器解码播放,在DEMO里也自带了一个ts文件,我就是在这个基础上NDK编译出JNI库,放源码里mm或用eclipse编译出APK,测试了发现播放OK,从里面代码原创 2013-09-16 15:36:42 · 1752 阅读 · 1 评论 -
Android播放器显示:surfaceview invalid token (identity=473)
最近播放器在Android2.3版本遇到显示不出来的问题,在调用nativewindown的API时老报下面的错误:09-22 11:36:28.877: E/Surface(18595): invalid token (identity=473)09-22 11:36:28.877: E/Surface(18595): invalid token (identity=473)09-2原创 2015-09-23 15:15:44 · 2526 阅读 · 0 评论 -
【第四篇章-android平台MediaCodec】根据编码类型MIME_TYPE获取MediaCodecInfo
String AMIME_VIDEO_VP8 ="video/x-vnd.on2.vp8"; //- VP8 video (i.e. video in .webm) String AMIME_VIDEO_VP9 ="video/x-vnd.on2.vp9"; //- VP9 video (i.e. video in .webm) String AMIME原创 2015-09-08 17:17:49 · 6290 阅读 · 1 评论 -
【第四篇章-android平台MediaCodec】判断是否支持硬解码代码
public boolean isSupportMediaCodecHardDecoder(){ boolean isHardcode = false; //读取系统配置文件/system/etc/media_codecc.xml File file = new File("/system/etc/media_codecs.xml"); InputStream in原创 2015-06-27 13:30:36 · 4079 阅读 · 0 评论 -
【第四篇章-android平台MediaCodec】解决Observer died. Quickly, do something, ... anything...
当出现!!!Observer died. Quickly, do something, ... anything...说明你的程序已经出现严重异常了,那会是什么情况呢?这个问题困扰了我许久,后来原来是使用了mediacodec的非公有API导致的,去掉这个API即OK。原创 2015-07-21 15:30:00 · 3624 阅读 · 5 评论 -
【第四篇章-android平台MediaCodec】编解码逻辑认识
MediaCodec进行编解码的大体逻辑是这样的: 主要函数的调用逻辑如下: 需要做的东西是一个媒体文件合成器,功能是先截取出多段媒体文件中的某些片段,再将这些片段合成为一个新的媒体文件。实际上就是先用解码器将多段outputBuffer数据拿出来,然后再用编码器将它们放到一个文件里去。如果还要加上叠加字幕、特技处理等的效果,实际上也是先拿到ou原创 2015-06-26 16:01:45 · 1386 阅读 · 4 评论 -
【第三篇章-android平台buffer播放源码】核心展示
对于这个buffer播放demo,谢谢大家的关注,一直以来没时间来分享demo的实现,今天抽空给大家看看核心代码,欢迎关注的朋友们提宝贵的建议!chodison_mediaplayer.cpp/* * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License,原创 2015-03-26 15:32:51 · 1201 阅读 · 2 评论 -
【第二篇章-android平台buffer播放实现】buffer play demo
通过第一篇章的探索,可以明确下在android平台下是可以实现buffer播放的,它支持的android的版本是从4.0开始的,因此,android平台可以实现android4.0以上平台的buffer播放。我已经实现了一个DEMO,支持4.1到4.4,大家可以使用下,需要的人多的话可以分享源码。原创 2014-12-01 17:14:47 · 1154 阅读 · 2 评论 -
【第一篇章-android平台buffer播放探索】buffer play demo
从google发布的各个android版本源码看,android4.0开始就做了支持buffer播放的接口及demo了,编译完android SDK后在out中会生成一个可执行文件stream,这个就是一个非常好的demo测试程序,支持H264的ts播放,程序源代码位置以android4.3为例说明下,目录:android4.3\frameworks\av\cmds\stagefright,对应文原创 2014-10-11 11:44:09 · 2183 阅读 · 3 评论 -
【第一篇章-android平台buffer播放探索】Steaming Source Player
为了在android平台找到buffer播放方式,花了不少功夫,在这个探索过程中,果断否定了native media的方式,在找到Steaming Source Player之前还进行了一次Nuplayer的尝试,我们把android里面的Nuplayer单独独立出来可进行NDK编译用加载库的方式跑起来,在三星以及小米的手机上跑是没有问题的,整体功能还算OK,但是想android平台通吃的话,会遇原创 2014-08-16 17:20:18 · 1674 阅读 · 2 评论 -
mac编译Android版本ffmpeg的x86_64架构库
用终端命名编译报错:yasm/nasm not found or too old. Use --disable-yasm for a crippled build原来需要在mac上安装1.2.0或更高版本版本的yasm终端命令如下:curl http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz原创 2015-12-25 18:01:59 · 822 阅读 · 0 评论