自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 Android多媒体图片解码

如果是encoder或decoder codec,就可以将自己的factory 函数注册到这个链表里面,然后当需要创建 encoder 或decoder codec 实例的时候,loop 这个list 找到对应的node, 然后调用factory函数。• SkTRegistry(Factory fact) 构造函数,用于注册一个 fact 函数,在使用链表的时候,可以通过节点的fact 获得需要的class, 如encoder 或 decoder codec.

2024-08-11 16:28:45 610

原创 Android多媒体图片编码

工作中遇到了Android中有关图片压缩保存的问题,发现这个问题还挺深,而且网上资料比较有限,因此自己深入研究了一下,算是把这个问题自顶至下全部搞懂了,在此记录。相关的几个问题如下:1.Android系统是如何编码压缩保存图片的?2.Skia库起到的作用?3.libJpeg库起到的作用?4.能不能自己调用Skia或libJpeg?

2024-08-11 16:21:08 936

原创 Android多媒体视频-获取视频缩略图

获取视频缩略图流程。

2024-08-11 16:13:39 252

原创 Android多媒体音频-dump节点

播放:fw(track>resample>drc>mixer>effect>writer)->hal(streamout>playbackhander)->adsp(primary/deepbuffer..)录制:adsp->hal(record>streamin)->fw(reader>convert>record)

2024-08-11 15:01:27 75

原创 Android多媒体音频-xrun

2.underflow:应用写太快(出现这种情况,写应用会休眠;一般情况是不会发生这种情况。发生此种情况一般是DMA中断没有及时更新读指针,需要检测中断是否发生,中断发生后是否及时更新读指针)1.underrun:播放audiotrack写数据慢,PlaybackThread(AudioFlinger)播数据快,导致buffer空了,无数据可播出现卡顿。4.overflow:录制AudioFlinger写数据慢,AudioRecord读数据写入文件快,buffer空了导致卡顿。

2024-08-11 14:56:40 313

原创 Android多媒体音频基础

AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_HEAPHONES=0x100立体声蓝牙耳机。AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT= 0x40车载免提蓝牙设备。AUDIO_DEVICE_OUT_BLUETOOTH_A2DP_SPEAKR=0x200蓝牙话筒。AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET=0x20蓝牙电话。AUDIO_DEVICE_OUT_BLUETOOTH_SCO=0x10单声道蓝牙耳机。

2024-08-03 21:49:18 281

原创 Android多媒体视频-MediaRecorder录像

早在在录制视频的过程中,如果设置的是不支持的分辨率或者Surface未创建成功,将会产生start failed异常,即在调用mMediaRecorder.start()时。MediaRecorder录像状态图。初始化MediaRecorder。以上可用于设置前后摄像头。

2024-08-03 17:27:04 258

原创 Android多媒体视频-MediaPlayer播放

seekTo()是定位方法,可以让播放器从指定的位置开始播放,需要注意的是该方法是个异步方法,也就是说该方法返回时并不意味着定位完成,尤其是播放的网络文件,真正定位完成时会触发OnSeekComplete.onSeekComplete(),如果需要是可以调用setOnSeekCompleteListener(OnSeekCompleteListener)设置监听器来处理的。调用MediaPlayer的start()、stop()、pause()方法来控制视频播放。

2024-08-03 17:17:27 812

原创 GMS测试常见命令

run cts -m CtsMediaTestCases --shard-count 2 -s devicerun cts -m CtsMediaTestCases -t ******* -s devicerun cts --subplan *.xml -s device run retry --retry 100l r 、l s、l c

2024-08-03 16:53:30 112

原创 adb/git/addr2line/ffmpeg常用的命令

方法1:强制停止APP进程,不会清除APP进程在系统中产生的数据 adb shell am force-stop package 执行该命令后没有输出,手机对应进程已被杀死。adb shell pm list packages -f | grep "com.google.android.youtube"//根据包名找到对应apk。ps -ef|grep com.google.android.youtube//根据包名找到对应进程。adb shell logcat -c//清除log避免干扰。

2024-08-03 16:24:00 290

原创 Android多媒体视频录制流程-MediaRecorder到OMX

MediaRecorder的录制流程。

2024-08-03 11:09:44 112

原创 Android多媒体视频播放流程-MediaPlayer到OMX

MediaPlayer播放流程图。

2024-08-03 10:55:05 121

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除