- 博客(72)
- 资源 (29)
- 收藏
- 关注

原创 鸿蒙音视频播放器:libwlmedia
跨平台播放器wlmedia现在已经支持了鸿蒙(Harmony)平台了,SDK插件地址:https://ohpm.openharmony.cn/#/cn/detail/@ywl5320%2Flibwlmedia
2025-02-09 22:39:03
631

原创 Android音视频播放库:wlmedia
GitHub:https://github.com/wanliyang1990/wlmedia功能**支持:http、https、rtsp、rtp、rtmp、byte[]、加密视频和各种文件格式视频;**截图、音轨选择、自定义视频滤镜、变速变调、声道切换、无缝切换surface(surfaceview和textureview)、视频比例设置等;视频演示1、UsageG...
2019-12-23 15:49:54
3791
16

原创 Android音视频开发详解
概要: 1、课程从FFmpeg编译、Android Studio创建C++项目、Java调用C++、C++调用Java、C++多线程和线程锁、C++队列、OpenSL ES集成、FFmpeg多线程解码音频文件、获取PCM数据、播放PCM数据等都做了比较细致的讲解,OpenGL ES渲染软解码YUV数据,OpenGL ES渲染MediaCodec硬解码视频等,是系统学习FFmpeg...
2018-05-16 12:43:17
19707
12

原创 FFmpeg+OpenSL+OpenGL+Mediacodec 的视频播放SDK源码和实例APP
GitHub:wlplayer v1.0.1Update*.添加 x86 cpu架构*.修复seek后导致音视频不同步问题*.视频解码慢时,进行丢帧处理我的视频课程(基础):《(NDK)FFmpeg打造Android万能音频播放器》我的视频课程(进阶):《(NDK)FFmpeg打造Android视频播放器》我的视频课程(编码直播推流):《Android视频编码和直...
2017-12-28 09:26:55
2586
3
原创 wlmedia播放器集成(4)— 实现视频播放
纵观Android平台涉及到的音视频播放SDK,比如:exo、ijk等的api调用都是比较复杂的,很少能几句代码就能实现播放。wlmedia真正实现了几句代码就可实现音视频播放,并且不需要传入Context上下文,绝对的解耦! 调用代码:除去布局文件和回调实现方法,总共不到10句代码即可实现Android音视频播放,剩下的时间可以去学习新知识了,哈哈~源码地址:传送门
2021-05-18 21:21:17
1716
12
原创 wlmedia播放器集成(2)— 常用自定义view
前言:由于jcenter不久将关闭,所以wlmedia项目已迁移到 jitpackGitHub地址:https://github.com/wanliyang1990/wlmedia
2021-05-16 19:55:57
902
1
原创 wlmedia播放器集成(1)— 播放器集成
GitHub - wanliyang1990/wlmedia: Android 音视频播放器SDK,几句代码即可实现音视频播放功能(支持:手机、车机系统、电视盒子等设备。支持:http、https、rtsp、rtp、rtmp、byte[]、加密视频和各种文件格式视频;包含视频截图、音轨选择、字幕选择、循环播放、设置软解或硬解、透明视频、变速变调、声道切换、无缝切换surface(surfaceview和textureview)、多Surface渲染、视频比例设置、多实例音视频播放等。)~
2021-05-16 19:23:55
2197
2
原创 Android播放透明视频
透明视频随着业务场景的增多,更多的特效用原生绘制、GIF的方式都不能很好的满足需求了,这就带来了一个新的方式:用视频特效来代替。特别是在视频(直播)行业中,各种特效炫酷又精美,能很好的表达用户的想法。但是这也带来了一个问题:虽然播放视频非常简单,但是同时要把视频下面的UI也展示出来就没那么简单了,这就需要视频有透明效果,这样才能不遮挡底层UI。既然写了这篇博客,自然有很简单的方式来实现这种透明视频的播放了,那就是用第三方库《wlmedia》,几句代码就能实现透明视频的播放。一、先来大致说一下透明视频播放原理
2020-09-26 16:21:43
5768
4
原创 Android获取(网络和本地)视频缩略图
在音视频APP开发过程中,有一个比较重要的功能就是显示视频封面图片(如果不能显示视频封面用户体验是比较差的),常用的方法有2中:第一种是:提前准备好视频的封面图片,然后显示时去加载这张图片第二种是:从视频中动态解析出视频封面图片第一种方式对于APP端而言没什么难度,拿到图片地址直接加载显示图片就行。第二种方式就比较难了,因为处理视频获取图片还是比较复杂的。不过今天要给大家讲的方式比较简单,因为已经有第三方库帮我们做好:wlmedia我们先来看一下效果:(分别获取网络、本地、逐帧图片)网络
2020-07-25 12:49:13
2685
2
原创 Android NDK 定位出错代码位置
在Android开发中,我们经常遇到以下错误:对于这种“Fatal signal xx (SIGSEGV)”的错误,如果我们只是做应用层开发的话,基本是懵逼和无能为力的,因为这种都是底层C或者C++代码出现了错误(最多的就是空指针或者野指针导致的)。但是如果是我们自己写的C或C++代码出错的话,那就能定位出错位置并解决了。一、制造错误我们可以用Android Studio创建一个最...
2019-05-26 22:25:13
1533
2
原创 FFmpeg获取视频正确的宽高比
我的视频课程(基础):《(NDK)FFmpeg打造Android万能音频播放器》我的视频课程(进阶):《(NDK)FFmpeg打造Android视频播放器》我的视频课程(编码直播推流):《Android视频编码和直播推流》我的视频课程(C++ OpenGL):《Android C++ OpenGL教程》说起音视频开发,很多问题不遇到是不知道的。就在昨天,有一朋友问我:我的视频解析出...
2019-03-16 00:37:14
15735
1
原创 视频播放器丢帧策略
我的视频课程(基础):《(NDK)FFmpeg打造Android万能音频播放器》我的视频课程(进阶):《(NDK)FFmpeg打造Android视频播放器》我的视频课程(编码直播推流):《Android视频编码和直播推流》我的视频课程(C++ OpenGL):《Android C++ OpenGL教程》1、丢帧的出现说起视频播放器大家都很熟悉了,覆盖各种平台,使用简单操作...
2019-01-16 22:26:34
4600
4
原创 Android视频编码和直播推流教程-杨万里-专题视频课程
Android音视频编码和推流功能视频培训教程,该课程内容包括:OpenGL ES教程、Android视频滤镜、图片生成视频、添加水印、音频和视频合成、剪切音乐合成视频、利用摄像头实现RTMP直播推流等。...
2018-07-26 09:32:29
2521
6
原创 Android OpenGL ES 开发(三)— 绘制四边形
我的视频课程:《Android C++ OpenGL 教程》上一篇博客我们以绘制三角形为例讲了OpenGL的绘制流程,并按照自己的意愿绘制出了一个红色的三角形,那么现在我们就可以开始绘制四边形了。绘制四边形其实就是绘制2个三角形,然后拼接成一个四边形。然儿具体怎么绘制呢,OpenGL中是有一定的规则的,下面我们就来看看一些常用的绘制方式:首先我们看看OpenGL中的glDrawArra...
2018-07-23 02:13:37
2166
2
原创 Android OpenGL ES 开发(二)— 绘制三角形
我的视频课程:《Android C++ OpenGL 教程》在前一篇博客我们知道了Android中OpenGL ES是什么,然后知道了怎么搭建一个OpenGL ES的运行环境,现在我们就来开始绘制我们自己想要的图形了(绘制图片会在后面讲解,因为绘制图形是绘制图片的基础),我们最先开始绘制一个三角形,因为三角形是很多图形的基础。一、顶点坐标系在绘制之前,我们需...
2018-07-09 02:04:21
2134
原创 Android OpenGL ES 开发(一)— 环境搭建
我的视频课程:《Android C++ OpenGL 教程》 对于Opengl/sl/cv/...系列相信大家也不陌生,我在前面博客也介绍了OpenSL ES的一些知识和使用方法,让我们对OpenSL ES有了一定的了解。从今天开始我将给大家带来一系列的Android中OpenGL ES的使用方法(主要是基于2D平面图形的)。一、OpenGL ES是什么?我总结的...
2018-07-05 01:41:07
4591
原创 Android C++多线程按顺序退出并释放资源
我的视频课程(编码直播推流):《Android视频编码和直播推流》我的视频课程(C++ OpenGL):《Android C++ OpenGL教程》通过这段时间的加班,终于把我的FFmpeg开发课程《FFmpeg打造Android万能音频播放器》和《FFmpeg+OpenGL ES+OpenSL ES打造Android视频播放器》录制完成了。在开发过程中涉及到了许多的知识点...
2018-05-26 14:12:03
2407
原创 FFmpeg+OpenGL ES+OpenSL ES打造Android视频播放器-杨万里-专题视频课程
使用C++语言,用FFmpeg、OpenGL ES、OpenSL ES和MediaCodec打造Android视频播放器。授课计划 视频录播形式,讲解课程所涉及的知识点和整体流程。每节课都有相关的PPT和源码资料,并用通俗易懂的方式讲解课程。每周更新1-2节课程适合人群 有一定的C++基础和Android开发经营...
2018-05-07 09:08:32
1683
原创 OpenSL ES录制PCM音频数据
我的视频课程(基础):《(NDK)FFmpeg打造Android万能音频播放器》我的视频课程(进阶):《(NDK)FFmpeg打造Android视频播放器》我的视频课程(编码直播推流):《Android视频编码和直播推流》我的视频课程(C++ OpenGL):《Android C++ OpenGL教程》 前面已经介绍过了OpenSL ES播放音...
2018-04-09 00:19:03
1956
1
原创 OpenSL ES利用SoundTouch实现PCM音频的变速和变调
我的视频课程(基础):《(NDK)FFmpeg打造Android万能音频播放器》我的视频课程(进阶):《(NDK)FFmpeg打造Android视频播放器》我的视频课程(编码直播推流):《Android视频编码和直播推流》我的视频课程(C++ OpenGL):《Android C++ OpenGL教程》说到OpenSL ES,不仅能播放和录制...
2018-03-29 01:10:49
4020
7
原创 获取PCM音频数据的声音分贝值
我的视频课程(基础):《(NDK)FFmpeg打造Android万能音频播放器》我的视频课程(进阶):《(NDK)FFmpeg打造Android视频播放器》我的视频课程(编码直播推流):《Android视频编码和直播推流》我的视频课程(C++ OpenGL):《Android C++ OpenGL教程》 最近开源了一个Androi...
2018-03-11 15:31:02
19070
35
原创 FFmpeg打造Android万能音频播放器-杨万里-专题视频课程
移植FFmpeg到Android平台,利用FFmpeg解码音频数据并用OpenSL ES来播放,打造Android万能播放器。
2018-01-05 09:03:55
2025
1
原创 Android 用Mediacodec硬解码视频包AVpacket
我的视频课程(基础):《(NDK)FFmpeg打造Android万能音频播放器》我的视频课程(进阶):《(NDK)FFmpeg打造Android视频播放器》我的视频课程(编码直播推流):《Android视频编码和直播推流》我的视频课程(C++ OpenGL):《Android C++ OpenGL教程》FFmpeg是一个很不错的开源的音视频编解码库,其编解码...
2018-01-03 21:13:47
4229
8
原创 Android-Jni线程(三)— JNI全局回调java方法
我的视频课程(基础):《(NDK)FFmpeg打造Android万能音频播放器》我的视频课程(进阶):《(NDK)FFmpeg打造Android视频播放器》我的视频课程(编码直播推流):《Android视频编码和直播推流》我的视频课程(C++ OpenGL):《Android C++ OpenGL教程》目录: Android-Jni线程(一...
2017-12-07 14:22:50
5766
11
原创 Android-Jni线程(二)— 线程锁之生产者消费者
我的视频课程(基础):《(NDK)FFmpeg打造Android万能音频播放器》我的视频课程(进阶):《(NDK)FFmpeg打造Android视频播放器》我的视频课程(编码直播推流):《Android视频编码和直播推流》我的视频课程(C++ OpenGL):《Android C++ OpenGL教程》目录: Android-Jni线程(一...
2017-12-01 14:29:05
2666
原创 Android-Jni线程(一)— 创建线程
我的视频课程(基础):《(NDK)FFmpeg打造Android万能音频播放器》我的视频课程(进阶):《(NDK)FFmpeg打造Android视频播放器》我的视频课程(编码直播推流):《Android视频编码和直播推流》我的视频课程(C++ OpenGL):《Android C++ OpenGL教程》目录: Android-Jni线程(一...
2017-12-01 00:10:19
5183
1
原创 Android通过OpenSL ES播放音频套路详解
我的视频课程(基础):《(NDK)FFmpeg打造Android万能音频播放器》我的视频课程(进阶):《(NDK)FFmpeg打造Android视频播放器》我的视频课程(编码直播推流):《Android视频编码和直播推流》我的视频课程(C++ OpenGL):《Android C++ OpenGL教程》先定个小目标 通过本篇博客,我们会很容...
2017-11-10 22:17:01
18459
13
原创 移动大脑-SpringMVc搭建RestFul后台服务(七)-增量更新
我的视频课程(基础):《(NDK)FFmpeg打造Android万能音频播放器》我的视频课程(进阶):《(NDK)FFmpeg打造Android视频播放器》我的视频课程(编码直播推流):《Android视频编码和直播推流》 目录: 移动大脑-SpringMVc搭建RestFul后台服务(一)-环境搭建 移动大脑-SpringMVc搭建...
2017-11-02 16:55:13
2312
原创 Android增量更新(四)-客户端合并差分包生成新的apk安装包
我的视频课程:《FFmpeg打造Android万能音频播放器》我的视频课程(编码直播推流):《Android视频编码和直播推流》 目录: Android增量更新(一)-差分文件(Windows-part1) Android增量更新(二)-差分文件(Windows-part2)-dll动态库和jar包 Android增量更...
2017-10-25 10:22:56
4710
7
原创 Android增量更新(三)-差分文件(Linux)-生成jar和.so库
我的视频课程:《FFmpeg打造Android万能音频播放器》我的视频课程(编码直播推流):《Android视频编码和直播推流》 目录: Android增量更新(一)-差分文件(Windows-part1) Android增量更新(二)-差分文件(Windows-part2)-dll动态库和jar包 Android增量更新(三...
2017-10-24 14:26:06
2632
原创 Android增量更新(二)-差分文件(Windows-part2)-dll动态库和jar包
我的视频课程:《FFmpeg打造Android万能音频播放器》我的视频课程(编码直播推流):《Android视频编码和直播推流》 目录: Android增量更新(一)-差分文件(Windows-part1) Android增量更新(二)-差分文件(Windows-part2)-dll动态库和jar包 Android...
2017-10-23 23:12:56
1514
原创 Android增量更新(一)-差分文件(Windows-part1)
我的视频课程:《FFmpeg打造Android万能音频播放器》我的视频课程(编码直播推流):《Android视频编码和直播推流》 目录: Android增量更新(一)-差分文件(Windows-part1) Android增量更新(二)-差分文件(Windows-part2)-dll动态库和jar包 Android增量更...
2017-10-23 14:39:04
2705
4
原创 移动大脑-SpringMVc搭建RestFul后台服务(六)-微信支付(Android)
我的视频课程(基础):《(NDK)FFmpeg打造Android万能音频播放器》我的视频课程(进阶):《(NDK)FFmpeg打造Android视频播放器》我的视频课程(编码直播推流):《Android视频编码和直播推流》 目录: 移动大脑-SpringMVc搭建RestFul后台服务(一)-环境搭建 移动大脑-SpringMVc搭建Res...
2017-10-20 13:39:06
2878
原创 移动大脑-SpringMVc搭建RestFul后台服务(五)-支付宝支付
我的视频课程(基础):《(NDK)FFmpeg打造Android万能音频播放器》我的视频课程(进阶):《(NDK)FFmpeg打造Android视频播放器》我的视频课程(编码直播推流):《Android视频编码和直播推流》 目录: 移动大脑-SpringMVc搭建RestFul后台服务(一)-环境搭建 移动大脑-SpringMVc搭建...
2017-10-19 14:29:38
2390
原创 移动大脑-SpringMVc搭建RestFul后台服务(四)-添加Token拦截器
我的视频课程(基础):《(NDK)FFmpeg打造Android万能音频播放器》我的视频课程(进阶):《(NDK)FFmpeg打造Android视频播放器》我的视频课程(编码直播推流):《Android视频编码和直播推流》 目录: 移动大脑-SpringMVc搭建RestFul后台服务(一)-环境搭建 移动大脑-SpringMVc搭建...
2017-10-16 15:09:58
7027
原创 移动大脑-SpringMVc搭建RestFul后台服务(三)-RestFul接口编写(模拟用户注册登录)
我的视频课程(基础):《(NDK)FFmpeg打造Android万能音频播放器》我的视频课程(进阶):《(NDK)FFmpeg打造Android视频播放器》我的视频课程(编码直播推流):《Android视频编码和直播推流》 目录: 移动大脑-SpringMVc搭建RestFul后台服务(一)-环境搭建 移动大脑-SpringMVc搭建...
2017-10-15 15:03:59
5743
1
原创 移动大脑-SpringMVc搭建RestFul后台服务(二)-配置mysql数据库
我的视频课程(基础):《(NDK)FFmpeg打造Android万能音频播放器》我的视频课程(进阶):《(NDK)FFmpeg打造Android视频播放器》我的视频课程(编码直播推流):《Android视频编码和直播推流》 目录 移动大脑-SpringMVc搭建RestFul后台服务(一)-环境搭建 移动大脑-SpringMVc搭建R...
2017-10-15 10:36:53
2854
3
原创 移动大脑-SpringMVc搭建RestFul后台服务(一)-环境搭建
我的视频课程(基础):《(NDK)FFmpeg打造Android万能音频播放器》我的视频课程(进阶):《(NDK)FFmpeg打造Android视频播放器》我的视频课程(编码直播推流):《Android视频编码和直播推流》 目录: 移动大脑-SpringMVc搭建RestFul后台服务(一)-环境搭建 移动大脑-SpringMVc搭建Res...
2017-10-02 21:42:58
9014
1
原创 Linux命令
一、Ubuntu 环境变量配置命令:vim ~/.bashrc#javaexport JAVA_HOME=/usr/dev/java/jdk1.8.0_144export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATHexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH#g...
2017-09-05 09:56:17
707
Android底部导航布局封装
2017-03-24
Android支付密码输入框
2016-07-23
Android多功能导航栏菜单
2016-07-23
android滑动隐藏菜单
2016-03-04
Android联动选择时间和地址+小时分钟
2016-01-12
Android Gif动画播放
2015-03-29
字典序问题源码
2012-05-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人