- 博客(4290)
- 资源 (98)
- 收藏
- 关注
原创 【Android15 手机+车载 音频策略实战课】:正式上线了(二百六十四)
本篇目的:本课程基于Android15最新版本,深度讲解音频策略系统的设计架构与实战应用。从音频策略树的基础结构入手,逐步深入核心骨架、音量曲线等关键模块。再通过7个真实项目案例(Speaker改向、USB无损播放、蓝牙空间音效、定制音量曲线、Gain转换、数字耳机适配等)完整演示策略开发全流程。最后涵盖系统APP与MediaProjection的音频截取对比,帮助开发者掌握系统级音频策略定制能力。
2025-11-26 16:17:36
721
原创 【Android15快速自定义与集成音效实战课】:正式上线了(二百六十二)
本篇目的:给大家介绍一下:我的【Android15快速自定义与集成音效实战课】:正式上线了,希望可以帮助大家!这是一个在企业开发中,Android音效自定义、集成、调试快速上手的实战课。【Android15快速自定义与集成音实战课】,就是为了解决Android APP、Framework、音频开发者遇到音效问题的一个上手实战课,帮助开发者快速上手领导给的音效集成、调试、问题定位。软件 + 硬件开发环境源码环境:android - 15.0 . 0 _r32硬件环境:Pixel6。
2025-10-17 15:49:16
857
1
原创 Android16音频之设置通知标记位置AudioTrack.setNotificationMarkerPosition:用法实例(一百四十六)
本篇目的:Android16进阶之设置通知标记位置AudioTrack.setNotificationMarkerPosition:用法实例基本概念setNotificationMarkerPosition通过AudioTrack在指定帧位置设置一次性回调,当播放头到达该帧时触发onMarkerReached,用于精准事件触发、进度同步、循环控制。功能支持任意帧位置;与setPositionUpdatePeriod互补;一次性触发;与采样率联动即可换算时间;无需权限;适用于任意传输模式。
2025-12-16 07:30:00
198
原创 Android16音频之获取最小缓冲区AudioTrack.getMinBufferSize:用法实例(一百四十五)
本篇目的:Android16进阶之获取最小缓冲区AudioTrack.getMinBufferSize:用法实例基本概念getMinBufferSize为静态工具方法,根据采样率、声道掩码、编码格式计算系统建议的最小帧级缓冲区字节数,用于低延迟、内存敏感场景的快速初始化。功能返回int字节数;与采样率、编码、声道数联动;向上对齐到硬件页;无需权限;适用于任意传输模式。使用限制需在构建前调用;返回值仅保证无欠载,非最佳体验;与setBufferSizeInBytes职责互补;API 3及以上。
2025-12-16 07:00:00
548
原创 Android15车载音频进阶之usage vs stream type映射关系(一百四十九)
本篇目的:Android15车载音频进阶之usage vs stream type映射关系。
2025-12-15 07:30:00
464
原创 Android16音频之获取音频格式AudioTrack.getAudioFormat:用法实例(一百四十四)
本篇目的:Android16进阶之获取音频格式AudioTrack.getAudioFormat:用法实例基本概念getAudioFormat通过AudioTrack返回当前实例实际使用的AudioFormat对象,内含采样率、声道掩码、位深/编码类型,用于动态校验、可视化配置、硬件能力确认。功能立即返回AudioFormat实例;与setAudioFormat、setSampleRate联动;与硬件上限、兼容性策略实时一致;无需权限;适用于任意传输模式。使用限制需在构建后调用;
2025-12-15 07:00:00
463
原创 Android16音频之获取音频会话AudioTrack.getAudioSessionId:用法实例(一百四十三)
本篇目的:Android16进阶之获取音频会话AudioTrack.getAudioSessionId:用法实例基本概念getAudioSessionId通过AudioTrack返回当前实例绑定的音频会话ID,用于与Equalizer、Visualizer、AcousticEchoCanceler等音效组件精准关联,实现会话级音效管理。功能立即返回int会话ID;与setSessionId、generateAudioSessionId联动;与音频焦点、设备路由无关;无需权限;适用于任意传输模式。
2025-12-13 07:30:00
591
原创 Android16音频之获取采样率AudioTrack.getSampleRate:用法实例(一百四十二)
本篇目的:Android16进阶之获取采样率AudioTrack.getSampleRate:用法实例基本概念getSampleRate通过AudioTrack返回实际正在使用的输出采样率(Hz),用于帧-时间换算、可视化刷新、硬件能力确认,与构建时的setSampleRate可能因设备上限而被向下兼容。功能立即返回int Hz;与setSampleRate、setPlaybackRate联动;无需权限;适用于任意传输模式;与getPlaybackHeadPosition成对使用。使用限制。
2025-12-13 07:00:00
897
原创 Android16音频之获取缓冲区容量AudioTrack.getBufferCapacityInFrames:用法实例(一百四十一)
本篇目的:Android16进阶之获取缓冲区容量AudioTrack.getBufferCapacityInFrames:用法实例基本概念getBufferCapacityInFrames通过AudioTrack返回底层共享内存的最大帧容量(包含已用与空闲),用于评估硬件上限、内存占用、性能调优。功能立即返回int帧数;与setBufferSizeInBytes联动;与采样率、声道数无关;无需权限;适用于任意传输模式。使用限制需在构建后调用;返回值由系统向上对齐;API 24及以上;
2025-12-12 07:30:00
1468
原创 Android16音频之获取缓冲区帧数AudioTrack.getBufferSizeInFrames:用法实例(一百四十)
本篇目的:Android16进阶之获取缓冲区帧数AudioTrack.getBufferSizeInFrames:用法实例基本概念getBufferSizeInFrames通过AudioTrack返回内部共享内存的帧容量(帧=采样点×声道),用于精准计算延迟、欠载阈值、可视化水位。功能立即返回int帧数;与setBufferSizeInBytes联动;与采样率、声道数无关;无需权限;适用于任意传输模式。使用限制需在构建后调用;返回值≥getMinBufferSize帧数;
2025-12-12 07:00:00
1789
原创 Android16音频之获取音频时间戳AudioTrack.getTimestamp:用法实例(一百三十九)
本篇目的:Android16进阶之获取音频时间戳AudioTrack.getTimestamp:用法实例基本概念getTimestamp通过AudioTrack.AudioTimestamp对象返回系统级播放时钟(nanoTime)及对应帧位置,用于唇音同步、A/V对齐、精准进度计算,误差<1 ms。功能返回AudioTimestamp对象;含framePosition与nanoTime;与系统时钟独立;无需权限;适用于任意传输模式。使用限制需在play()后调用;若不支持返回false;
2025-12-11 07:30:00
733
原创 Android16音频之获取播放位置AudioTrack.getPlaybackHeadPosition:用法实例(一百三十八)
本篇目的:Android16进阶之获取播放位置AudioTrack.getPlaybackHeadPosition:用法实例基本概念getPlaybackHeadPosition返回AudioTrack已播放的帧数(帧=采样点×声道),用于计算当前时间、进度条、循环触发,与采样率联动即可换算为毫秒。功能立即返回int帧数;与play()、stop()联动;与采样率、声道数无关;无需权限;适用于任意传输模式。使用限制需在play()后调用;返回帧数非字节;溢出后循环归零;与缓冲区大小无关;
2025-12-11 07:00:00
1723
原创 Android16音频之刷新缓冲区AudioTrack.flush:用法实例(一百三十七)
本篇目的:Android16进阶之刷新缓冲区AudioTrack.flush:用法实例基本概念flush()会立即清空AudioTrack内部已写入但尚未播放的音频数据,并重置播放头位置;仅在STOPPED或PLAYING_PAUSED状态下有效,用于丢弃残留PCM、快速切换素材。功能丢弃未播放数据;与stop()、pause()成对使用;不影响已配置格式;无需权限;线程安全。使用限制必须在stop()之后或pause()状态下调用;
2025-12-10 07:30:00
1866
原创 Android16音频之获取播放参数AudioTrack.getPlaybackParams:用法实例(一百三十六)
本篇目的:Android16进阶之获取播放参数AudioTrack.getPlaybackParams:用法实例基本概念getPlaybackParams通过AudioTrack返回当前生效的PlaybackParams对象,内含速度、音高、跳过静音等设置,用于UI回显、状态保存、同步校准。功能立即返回PlaybackParams实例;与setPlaybackParams联动;无需权限;适用于任意传输模式;可读取speed、pitch、skipSilenceMode。使用限制。
2025-12-10 07:00:00
775
原创 Android16音频之设置播放参数AudioTrack.setPlaybackParams:用法实例(一百三十五)
本篇目的:Android16进阶之设置播放参数AudioTrack.setPlaybackParams:用法实例基本概念setPlaybackParams通过AudioTrack一次性配置播放速度、音高、跳过静音等高级参数,实现变速不变调、变调不变速、跳过静音等效果,用于音乐、视频、教育类应用。功能支持setSpeed(0.5x–2.0x)、setPitch(0.5x–2.0x)、setSkipSilenceMode;与音频格式、缓冲区联动;无需重启播放;与setPlaybackRate互斥;
2025-12-09 07:30:00
1480
原创 Android16音频之获取播放速率AudioTrack.getPlaybackRate:用法实例(一百三十四)
本篇目的:Android16进阶之获取播放速率AudioTrack.getPlaybackRate:用法实例基本概念getPlaybackRate通过AudioTrack返回当前正在使用的输出采样率(Hz),可用于UI回显、比例计算、同步校准,与setPlaybackRate成对使用。功能立即返回int采样率;与原始格式、变速设置联动;无需权限;适用于任意传输模式;与硬件时钟同步。使用限制需在play()后调用才准确;返回值=原始采样率×速率倍率;范围受硬件限制;与缓冲区大小无关;
2025-12-09 07:00:00
1534
原创 Android15车载音频进阶之音频中B、dB、mB、cB、μB的应用(一百四十八)
本篇目的:Android15车载音频进阶之音频中贝尔(B)、分贝(dB)、毫贝尔(mB)、厘贝尔(cB)、微贝尔(μB)的应用。
2025-12-08 07:30:00
1925
原创 Android16音频之设置播放速率AudioTrack.setPlaybackRate:用法实例(一百三十三)
本篇目的:Android16进阶之设置播放速率AudioTrack.setPlaybackRate:用法实例基本概念setPlaybackRate通过AudioTrack动态改变音频输出采样率,实现变速不变调或变调不变速效果,用于快进、慢放、DJ打碟、语言学习等场景。功能支持0.5x-2.0x速率;与原始采样率联动;无需重启播放;与音高、时间拉伸独立;无需权限;立即生效。使用限制需在play()后调用;范围受硬件限制;与缓冲区大小联动;变速模式需配合时间拉伸算法;部分ROM限制范围。
2025-12-08 07:00:00
963
原创 Android16音频之获取音量AudioTrack.getVolume:用法实例(一百三十二)
本篇目的:Android16进阶之获取音量AudioTrack.getVolume:用法实例基本概念getVolume返回AudioTrack实例当前主音量增益(0.0f - 1.0f,可>1),与系统媒体音量独立,用于UI回显、增益补偿、状态保存。功能立即返回float;与setVolume/setStereoVolume联动;无需权限;与音频格式、设备路由无关;支持任意传输模式。使用限制需API 21及以上;返回值不含立体声左右分离;>1.0f表示放大;
2025-12-06 07:30:00
685
原创 Android16音频之设置立体声音量AudioTrack.setStereoVolume:用法实例(一百三十一)
本篇目的:Android16进阶之设置立体声音量AudioTrack.setStereoVolume:用法实例基本概念setStereoVolume通过AudioTrack分别设定左、右声道增益,实现立体声平衡、侧链压缩、本地特殊音效处理,与系统媒体音量相互独立。功能支持left/right独立浮点值(0.0f–1.0f,可>1);立即生效;与音频格式、设备路由无关;无需权限;可与setVolume叠加。使用限制需API 21及以上;单声道Track将同步复制左右值;>1.0f可能失真;
2025-12-06 07:00:00
1008
原创 Android16音频之设置track音量AudioTrack.setVolume:用法实例(一百三十)
本篇目的:Android16进阶之设置track音量AudioTrack.setVolume:用法实例基本概念setVolume通过AudioTrack动态调整本实例的输出增益,范围0.0f-1.0f(可超1.0f作为放大),与系统媒体音量独立,适合应用内淡入淡出、侧链压缩、本地增益补偿。功能立即生效;支持浮点精度;与音频属性、设备路由无关;无需权限;可与系统音量叠加。使用限制需API 21及以上;>1.0f可能失真;与全局音量面板无联动;与allowedCapturePolicy联动;
2025-12-05 07:30:00
973
原创 Android16音频之获取Track状态AudioTrack.getState:用法实例(一百二十九)
本篇目的:Android16进阶之获取Track状态AudioTrack.getState:用法实例基本概念getState返回AudioTrack生命周期状态:STATE_UNINITIALIZED、STATE_INITIALIZED、STATE_NO_STATIC_DATA、STATE_STATIC_DATA,用于判断对象是否就绪、资源分配成功。功能立即返回int状态;与构建结果、write()前置条件联动;线程安全;无需权限;适用于任意传输模式。使用限制需在构造后调用;
2025-12-05 07:00:00
1630
原创 Android逆向之jadx反编译apk(二十二)
本篇目的:Android逆向之jadx反编译apkjadx 是一款开源、跨平台的一站式 Android 反编译利器,由 skylot 维护,采用 Apache-2.0 协议,GitHub 星标超 3.8 万。它集 dex 解析、java 反编译、资源还原、smali 调试于一身,支持命令行(jadx-cli)与图形界面(jadx-gui)双模式,可单文件启动,无需安装 JDK。
2025-12-04 07:30:00
715
原创 Android逆向之dex2jar+jd-gui反编译apk(二十一)
本篇目的:Android逆向之dex2jar+jd-gui反编译apkdex2jar 是一款开源的 Android 反编译工具套装,核心作用是把 APK 中提取的 classes.dex 文件转换成传统 Java 工程师熟悉的 .jar 格式。转换后,开发者即可使用 JD-GUI、FernFlower 等 Java 反编译器直接阅读近似源码的 Java 语法,从而进行漏洞审计、竞品分析、学习研究或错误定位。项目由 pxb1988 维护,托管在 GitHub,采用 Apache 2.0 协议,完全免费。
2025-12-04 07:00:00
1165
原创 Android16音频之获取播放状态AudioTrack.getPlayState:用法实例(一百二十八)
本篇目的:Android16进阶之获取播放状态AudioTrack.getPlayState:用法实例基本概念getPlayState返回AudioTrack当前运行状态:PLAYSTATE_STOPPED、PLAYSTATE_PAUSED、PLAYSTATE_PLAYING,用于UI刷新、逻辑分支、资源管理。功能立即返回int状态;与play()、pause()、stop()联动;线程安全;无需权限;适用于任意传输模式。使用限制需在对象构造后调用;状态切换异步,需主线程轮询或事件驱动;
2025-12-03 07:30:00
536
原创 Android16音频之写数据AudioTrack.write:用法实例(一百二十七)
本篇目的:Android16进阶之写数据AudioTrack.write:用法实例基本概念write()将PCM数据推入AudioTrack内部缓冲区,阻塞或非阻塞模式由TransferMode决定;需先play(),系统持续消费数据并输出音频。功能支持byte[]、short[]、float[]、ByteBuffer;阻塞返回写入长度;与缓冲区大小、采样格式联动;无需权限;线程安全。使用限制必须在play()后调用;数据长度需为帧整数倍;浮点模式按4字节对齐;
2025-12-03 07:00:00
943
原创 Android16音频之停止播放AudioTrack.stop:用法实例(一百二十六)
本篇目的:Android16进阶之停止播放AudioTrack.stop:用法实例基本概念stop()将AudioTrack从任意状态切换到停止状态,清空内部缓冲区,播放位置归零,需重新write才能再次播放,用于彻底结束当前会话。功能立即清空缓冲区;播放位置归零;与play()/pause()成对;支持任意传输模式;无需权限;线程安全。使用限制需在play()后调用;stop后继续write将报错;与release()成对释放资源;与音频焦点联动;
2025-12-02 07:30:00
1677
原创 Android16音频之暂停播放AudioTrack.pause:用法实例(一百二十五)
本篇目的:Android16进阶之暂停播放AudioTrack.pause:用法实例基本概念pause()将AudioTrack从播放状态切换到暂停状态,音频输出立即停止但缓冲区数据保留,后续可调用play()无缝恢复,适用于用户交互与焦点切换场景。功能立即冻结输出;与play()成对;保留已写入数据;支持任意传输模式;无需权限;线程安全。使用限制需在play()后调用;暂停后继续write数据将堆积;长时间暂停可能引发欠载;与音频焦点联动;TRANSFER_CALLBACK模式下停止拉取。
2025-12-02 07:00:00
806
原创 Android15车载音频进阶之Pixel6调试Speaker、听筒、播放模式、性能、延迟(一百四十七)
本篇目的:Android15车载音频进阶之Pixel6调试Speaker、听筒、播放模式性能对比。
2025-12-01 07:30:00
1990
原创 Android16音频之播放AudioTrack.play:用法实例(一百二十四)
本篇目的:Android16进阶之播放AudioTrack.play:用法实例基本概念play()将AudioTrack从静止状态切换到播放状态,系统开始消费缓冲区数据并输出音频;需在write()之后或回调模式下调用,是低延迟与同步控制的关键触发点。功能立即启动音频输出;与pause()/stop()成对;支持任意传输模式;与音频焦点、设备路由联动;无需权限;线程安全。使用限制需在构建后调用;未写入数据时可能欠载;TRANSFER_CALLBACK模式下由框架自动拉取;
2025-12-01 07:00:00
1668
原创 Android16音频之设置会话setSessionId:用法实例(一百二十三)
本篇目的:Android16进阶之设置会话setSessionId:用法实例基本概念setSessionId通过AudioTrack.Builder将已有音频会话ID绑定到新建实例,实现与音效、可视化、焦点策略的精准关联,替代随机生成。功能支持任意int型会话ID;与generateAudioSessionId成对使用;与Equalizer、Visualizer、AcousticEchoCanceler联动;无需权限;构建时生效。使用限制需API 26及以上;ID必须未被占用;
2025-11-29 07:30:00
1451
原创 Android16音频之设置传输模式AudioTrack.Builder().setTransferMode:用法实例(一百二十二)
本篇目的:Android16进阶之设置传输模式AudioTrack.Builder().setTransferMode:用法实例基本概念setTransferMode通过AudioTrack.Builder指定数据写入方式,系统据此选择缓冲区管理策略,直接影响延迟、CPU占用与写入线程模型。功能支持TRANSFER_SYNC(阻塞write)、TRANSFER_ASYNC(非回调推送)、TRANSFER_CALLBACK(系统拉取);与缓冲区大小、音频格式联动;无需权限;构建时生效。使用限制。
2025-11-29 07:00:00
1771
原创 Android ALSA驱动进阶之获取格式名称snd_pcm_format_name:用法实例(九十七)
本篇目的:Android ALSA驱动进阶之获取格式名称snd_pcm_format_name:用法实例基本概念snd_pcm_format_name根据enum snd_pcm_format返回静态字符串,用于日志打印、调试节点、用户空间事件上报等场景,无需驱动自行维护格式表。功能支持S8到FLOAT_LE全部格式;返回常量字符串指针;与内核print格式无缝兼容;可内联调用;永不返回空。使用限制传入值必须为合法enum snd_pcm_format;不可修改返回字符串;
2025-11-28 13:11:05
873
原创 Android16音频之设置缓冲区大小AudioTrack.Builder().setBufferSizeInBytes:用法实例(一百二十一)
本篇目的:Android16进阶之设置缓冲区大小AudioTrack.Builder().setBufferSizeInBytes:用法实例基本概念setBufferSizeInBytes通过AudioTrack.Builder指定内部音频缓冲区字节大小,直接影响延迟、抖动与CPU负载,需在格式确认后计算并设置。功能支持任意字节数;系统向上对齐到内部块边界;与采样率、位深、声道数联动;可用于低延迟或高稳定性场景;无需权限;构建时生效。使用限制需API 21及以上;
2025-11-28 07:30:00
1530
原创 Android16音频之设置音频格式AudioTrack.Builder().setAudioFormat:用法实例(一百二十)
本篇目的:Android16进阶之设置音频格式AudioTrack.Builder().setAudioFormat:用法实例基本概念setAudioFormat通过AudioTrack.Builder配置采样率、声道掩码、位深/浮点格式,系统据此分配硬件缓冲区、选择最优路由,是低延迟与高品质播放的核心步骤。功能支持44.1 kHz/48 kHz/96 kHz等采样率;与音频属性、设备能力联动;无需权限;立即生效。使用限制需API 21及以上;采样率须与硬件支持匹配;
2025-11-28 07:00:00
775
原创 【Android15 手机+车载 音频策略实战课】:正式上线了(二百六十五)
本篇目的:本课程基于Android15最新版本,深度讲解音频策略系统的设计架构与实战应用。从音频策略树的基础结构入手,逐步深入核心骨架、音量曲线等关键模块。再通过7个真实项目案例(Speaker改向、USB无损播放、蓝牙空间音效、定制音量曲线、Gain转换、数字耳机适配等)完整演示策略开发全流程。最后涵盖系统APP与MediaProjection的音频截取对比,帮助开发者掌握系统级音频策略定制能力。
2025-11-27 15:55:35
726
原创 Android ALSA驱动进阶之设置静音数据snd_pcm_format_set_silence:用法实例(九十六)
本篇目的:Android ALSA驱动进阶之设置静音数据snd_pcm_format_set_silence:用法实例基本概念snd_pcm_format_set_silence根据采样格式自动生成对应位模式的静音采样值,并填充到指定缓冲区,用于播放暂停、尾部静音、欠压保护等场景。功能支持S8、S16_LE、S24_LE、S32_LE、FLOAT_LE等全部ALSA格式;可填充任意长度;与通道数自动匹配;可内联展开;返回0表示成功。使用限制只能在已确认缓冲区指针且长度按帧对齐后调用;
2025-11-27 14:32:11
730
原创 Android16音频之设置音频属性AudioTrack.Builder().setAudioAttributes:用法实例(一百一十九)
本篇目的:Android16进阶之设置音频属性AudioTrack.Builder().setAudioAttributes:用法实例基本概念setAudioAttributes通过AudioTrack.Builder设置音频流用途、内容类型与策略,系统据此选择路由、焦点、音量、震动策略,替代旧版streamType。功能支持USAGE_MEDIA USAGE_VOICE_COMMUNICATION USAGE_GAME等;
2025-11-27 07:30:00
1364
原创 Android16音频之获取设备延迟时间getAdditionalOutputDeviceDelay:用法实例(一百一十八)
本篇目的:Android16进阶之获取设备延迟时间getAdditionalOutputDeviceDelay:用法实例基本概念getAdditionalOutputDeviceDelay通过AudioManager读取指定输出设备当前被追加的音频延迟补偿值,单位毫秒,可用于UI回显、同步校准、工厂自检。功能支持任意AudioDeviceInfo;返回int型毫秒值;与setAdditionalOutputDeviceDelay成对;无需权限;立即读取。使用限制。
2025-11-27 07:00:00
1608
Universal Serial Bus Device Class Definition for Audio Devices.zip
2019-11-16
GStreamer中文开发手册.zip
2020-07-22
H.264标准协议(官方中文版)
2020-10-28
手写Fuchsia第一个app
2020-03-16
JM-H264参考手册
2020-10-28
第五代加固技术ARM VMP原理实现与应用.zip
2020-03-01
AUDIO CODEC DAPM详解.zip
2019-12-30
debug_hybris_demo.zip
2020-06-03
vcxsrv-64.1.20.8.1.zip
2020-06-20
Gstreamer-Openmax-gst-openmax.zip
2020-08-17
MultimediaFrameworkOverview.zip
2020-09-01
HxD_Hex编辑器中文版.zip
2020-09-12
win10removeAll.zip
2020-06-25
蓝牙Audio调试.zip
2019-12-27
Android64位gdbserver与Win10-32位gdb.exe与Ubuntu64位gdb可执行bin
2024-10-15
彻底禁掉Win10 Defender自启动
2022-12-24
Elecard HEVC Analyzer_For_Windows.zip
2021-01-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅