- 博客(4306)
- 资源 (98)
- 收藏
- 关注
原创 【Android15 手机+车载 音频策略实战课】:正式上线了(二百六十四)
本篇目的:本课程基于Android15最新版本,深度讲解音频策略系统的设计架构与实战应用。从音频策略树的基础结构入手,逐步深入核心骨架、音量曲线等关键模块。再通过7个真实项目案例(Speaker改向、USB无损播放、蓝牙空间音效、定制音量曲线、Gain转换、数字耳机适配等)完整演示策略开发全流程。最后涵盖系统APP与MediaProjection的音频截取对比,帮助开发者掌握系统级音频策略定制能力。
2025-11-26 16:17:36
725
原创 【Android15快速自定义与集成音效实战课】:正式上线了(二百六十二)
本篇目的:给大家介绍一下:我的【Android15快速自定义与集成音效实战课】:正式上线了,希望可以帮助大家!这是一个在企业开发中,Android音效自定义、集成、调试快速上手的实战课。【Android15快速自定义与集成音实战课】,就是为了解决Android APP、Framework、音频开发者遇到音效问题的一个上手实战课,帮助开发者快速上手领导给的音效集成、调试、问题定位。软件 + 硬件开发环境源码环境:android - 15.0 . 0 _r32硬件环境:Pixel6。
2025-10-17 15:49:16
867
1
原创 Android16音频之获取路由设备AudioTrack.getRoutedDevice:用法实例(一百五十七)
本篇目的:Android16进阶之获取路由设备AudioTrack.getRoutedDevice:用法实例基本概念getRoutedDevice通过AudioTrack返回当前音频实际路由到的设备(AudioDeviceInfo),可能与首选设备不同,受系统策略、用户设置、硬件能力影响,用于确认最终输出路径。功能立即返回AudioDeviceInfo对象;与系统设备列表实时同步;无需权限;适用于任意传输模式;与setPreferredDevice联动。使用限制需在play()后调用才准确。
2025-12-23 07:30:00
556
原创 Android16音频之获取首选设备AudioTrack.getPreferredDevice:用法实例(一百五十六)
本篇目的:Android16进阶之获取首选设备AudioTrack.getPreferredDevice:用法实例基本概念getPreferredDevice通过AudioTrack返回当前实例的首选音频输出设备(AudioDeviceInfo),用于确认当前路由、动态适配UI、调试设备选择。功能立即返回AudioDeviceInfo对象;与setPreferredDevice联动;无需权限;适用于任意传输模式;与系统设备列表同步。使用限制需在构建后调用;返回值可能为null(无首选);
2025-12-23 07:00:00
427
原创 Android16音频之设置首选设备AudioTrack.setPreferredDevice:用法实例(一百五十五)
本篇目的:Android16进阶之设置首选设备AudioTrack.setPreferredDevice:用法实例基本概念setPreferredDevice通过AudioTrack指定音频输出的首选设备(如蓝牙、HDMI、USB声卡),系统会优先将音频路由到该设备,适用于多设备场景。功能支持AudioDeviceInfo对象;与系统设备列表同步;无需权限;立即生效;与音频焦点、播放状态无关。使用限制需在play()前或play()后设置;设备需已连接且支持音频输出;部分设备需平台签名;
2025-12-22 07:30:00
552
原创 Android16音频之附加音效AudioTrack.attachAuxEffect:用法实例(一百五十四)
简介: CSDN博客专家、《Android系统多媒体进阶实战》作者 博主新书推荐:《Android系统多媒体进阶实战》🚀 Android Audio工程师专栏地址: Audio工程师进阶系列【原创干货持续更新中……】🚀 Android多媒体专栏地址: 多媒体系统工程师系列【原创干货持续更新中……】🚀 推荐1:AAOS车载系统+AOSP14系统攻城狮入门视频实战课 🚀 推荐2:Android14 Binder之HIDL与AIDL通信实战课 🚀 推荐3:Android15快速自定义与集成音效
2025-12-20 07:30:00
1487
原创 Android16音频之获取流类型AudioTrack.getStreamType:用法实例(一百五十三)
本篇目的:Android16进阶之获取流类型AudioTrack.getStreamType:用法实例基本概念getStreamType通过AudioTrack返回当前实例使用的音频流类型(STREAM_MUSIC、STREAM_VOICE_CALL等),用于动态识别音量流、路由策略、权限级别。功能立即返回int流类型;与setAudioAttributes中的usage映射联动;与系统音量、焦点策略实时一致;无需权限;适用于任意传输模式。使用限制需在构建后调用;
2025-12-20 07:00:00
1802
原创 Android ALSA驱动进阶之设置访问掩码snd_pcm_access_mask_set:用法实例(九十九)
本篇目的:Android ALSA驱动进阶之设置访问掩码snd_pcm_access_mask_set:用法实例基本概念snd_pcm_access_mask_set用于设置PCM访问掩码,指定驱动支持的访问模式,如MMAP、RW等,用户空间根据掩码选择访问方式。功能支持设置MMAP、RW、MMAP_VALID等模式;与snd_pcm_access_mask_test配合使用;可内联调用;返回值为void。使用限制必须在PCM初始化阶段调用;
2025-12-19 09:58:45
904
原创 Android16音频之获取格式AudioTrack.getFormat:用法实例(一百五十二)
本篇目的:Android16进阶之获取格式AudioTrack.getFormat:用法实例基本概念getFormat通过AudioTrack返回当前实例的完整AudioFormat对象,包含采样率、声道掩码、编码类型,用于动态校验、可视化配置、硬件能力确认。功能立即返回AudioFormat实例;与setAudioFormat、setSampleRate联动;与硬件上限、兼容性策略实时一致;无需权限;适用于任意传输模式。使用限制需在构建后调用;返回值可能被系统向下兼容;
2025-12-19 07:30:00
1873
原创 Android16音频之获取声道配置AudioTrack.getChannelConfiguration:用法实例(一百五十一)
本篇目的:Android16进阶之获取声道配置AudioTrack.getChannelConfiguration:用法实例基本概念getChannelConfiguration通过AudioTrack返回当前实例的声道掩码(如CHANNEL_OUT_STEREO、CHANNEL_OUT_5POINT1),用于动态识别输出布局、可视化布局、设备能力匹配。功能立即返回int掩码;与setAudioFormat中的声道掩码联动;与HDMI、蓝牙、外放能力实时一致;无需权限;适用于任意传输模式。
2025-12-19 07:00:00
722
原创 Android ALSA驱动进阶之获取采样格式位宽snd_pcm_format_width:用法实例(九十八)
本篇目的:Android ALSA驱动进阶之获取采样格式位宽snd_pcm_format_width:用法实例基本概念snd_pcm_format_width根据enum snd_pcm_format返回采样格式的位宽,用于计算缓冲大小、DMA传输字节数、数据转换等场景。功能支持S8到FLOAT_LE全部格式;返回采样位宽;与内核print格式无缝兼容;可内联调用;返回值为int。使用限制传入值必须为合法enum snd_pcm_format;不可用于中断上下文日志;需要临时变量保存;
2025-12-18 10:31:05
881
原创 Android16音频之获取声道数AudioTrack.getChannelCount:用法实例(一百五十)
本篇目的:Android16进阶之获取声道数AudioTrack.getChannelCount:用法实例基本概念getChannelCount通过AudioTrack返回当前音频流的实际声道数量(1=单声道,2=立体声等),用于动态适配可视化、音效处理、数据路由逻辑。功能立即返回int声道数;与setAudioFormat中的声道掩码联动;与硬件路由、设备能力实时一致;无需权限;适用于任意传输模式。使用限制需在构建后调用;
2025-12-18 07:30:00
717
原创 Android16音频之设置播放循环AudioTrack.setLoopPoints:用法实例(一百四十九)
本篇目的:Android16进阶之设置播放循环AudioTrack.setLoopPoints:用法实例基本概念setLoopPoints通过AudioTrack指定起始帧与结束帧,实现硬件级无缝循环播放,无需CPU干预,适用于背景音乐、游戏音效、节拍器场景。功能支持任意[startFrame, endFrame)区间;与采样率联动即可换算时间;与TRANSFER_MODE无关;无需权限;立即生效。使用限制需在play()前设置;endFrame≤总帧数;API 23及以上;
2025-12-18 07:00:00
812
原创 Android16音频之设置位置更新监听AudioTrack.setPlaybackPositionUpdateListener:用法实例(一百四十八)
本篇目的:Android16进阶之设置位置更新监听AudioTrack.setPlaybackPositionUpdateListener:用法实例基本概念setPlaybackPositionUpdateListener通过AudioTrack注册回调接口,同时支持周期性通知(setPositionNotificationPeriod)与一次性标记(setNotificationMarkerPosition),用于进度刷新、事件触发、状态机驱动。功能。
2025-12-17 07:30:00
908
原创 Android16音频之设置位置通知周期AudioTrack.setPositionNotificationPeriod:用法实例(一百四十七)
本篇目的:Android16进阶之设置位置通知周期AudioTrack.setPositionNotificationPeriod:用法实例基本概念setPositionNotificationPeriod通过AudioTrack以固定帧间隔周期性触发onPeriodicNotification回调,用于进度条、波形刷新、状态机推进,与Marker事件互补。功能支持任意帧间隔;与采样率联动即可换算时间;周期性触发;与setNotificationMarkerPosition成对使用;无需权限;
2025-12-17 07:00:00
1008
原创 Android16之交叉编译系统压力测试利器:stress-ng(二百六十六)
本篇目的:Android16之交叉编译系统压力测试利器:stress-ng在计算机系统运维与性能评估领域,stress-ng 是一款极具价值的工具。它是一款开源的 Linux 系统压力测试工具,由 Canonical 公司的 Colin Ian King 开发,其主要目的是对计算机系统的各种资源进行压力测试,以评估系统在高负载情况下的性能和稳定性。stress-ng 支持对多种系统资源进行测试。
2025-12-16 20:40:00
868
原创 Android16音频之设置首选设备AudioTrack.setPreferredDevice:用法实例(一百五十五)
本篇目的:Android16进阶之设置首选设备AudioTrack.setPreferredDevice:用法实例基本概念setPreferredDevice通过AudioTrack指定音频输出的首选设备(如蓝牙、HDMI、USB声卡),系统会优先将音频路由到该设备,适用于多设备场景。功能支持AudioDeviceInfo对象;与系统设备列表同步;无需权限;立即生效;与音频焦点、播放状态无关。使用限制需在play()前或play()后设置;设备需已连接且支持音频输出;部分设备需平台签名;
2025-12-16 20:06:34
973
原创 Android16音频之设置通知标记位置AudioTrack.setNotificationMarkerPosition:用法实例(一百四十六)
本篇目的:Android16进阶之设置通知标记位置AudioTrack.setNotificationMarkerPosition:用法实例基本概念setNotificationMarkerPosition通过AudioTrack在指定帧位置设置一次性回调,当播放头到达该帧时触发onMarkerReached,用于精准事件触发、进度同步、循环控制。功能支持任意帧位置;与setPositionUpdatePeriod互补;一次性触发;与采样率联动即可换算时间;无需权限;适用于任意传输模式。
2025-12-16 07:30:00
609
原创 Android16音频之获取最小缓冲区AudioTrack.getMinBufferSize:用法实例(一百四十五)
本篇目的:Android16进阶之获取最小缓冲区AudioTrack.getMinBufferSize:用法实例基本概念getMinBufferSize为静态工具方法,根据采样率、声道掩码、编码格式计算系统建议的最小帧级缓冲区字节数,用于低延迟、内存敏感场景的快速初始化。功能返回int字节数;与采样率、编码、声道数联动;向上对齐到硬件页;无需权限;适用于任意传输模式。使用限制需在构建前调用;返回值仅保证无欠载,非最佳体验;与setBufferSizeInBytes职责互补;API 3及以上。
2025-12-16 07:00:00
994
原创 Android15车载音频进阶之usage vs stream type映射关系(一百四十九)
本篇目的:Android15车载音频进阶之usage vs stream type映射关系。
2025-12-15 07:30:00
1803
原创 Android16音频之获取音频格式AudioTrack.getAudioFormat:用法实例(一百四十四)
本篇目的:Android16进阶之获取音频格式AudioTrack.getAudioFormat:用法实例基本概念getAudioFormat通过AudioTrack返回当前实例实际使用的AudioFormat对象,内含采样率、声道掩码、位深/编码类型,用于动态校验、可视化配置、硬件能力确认。功能立即返回AudioFormat实例;与setAudioFormat、setSampleRate联动;与硬件上限、兼容性策略实时一致;无需权限;适用于任意传输模式。使用限制需在构建后调用;
2025-12-15 07:00:00
752
原创 Android16音频之获取音频会话AudioTrack.getAudioSessionId:用法实例(一百四十三)
本篇目的:Android16进阶之获取音频会话AudioTrack.getAudioSessionId:用法实例基本概念getAudioSessionId通过AudioTrack返回当前实例绑定的音频会话ID,用于与Equalizer、Visualizer、AcousticEchoCanceler等音效组件精准关联,实现会话级音效管理。功能立即返回int会话ID;与setSessionId、generateAudioSessionId联动;与音频焦点、设备路由无关;无需权限;适用于任意传输模式。
2025-12-13 07:30:00
596
原创 Android16音频之获取采样率AudioTrack.getSampleRate:用法实例(一百四十二)
本篇目的:Android16进阶之获取采样率AudioTrack.getSampleRate:用法实例基本概念getSampleRate通过AudioTrack返回实际正在使用的输出采样率(Hz),用于帧-时间换算、可视化刷新、硬件能力确认,与构建时的setSampleRate可能因设备上限而被向下兼容。功能立即返回int Hz;与setSampleRate、setPlaybackRate联动;无需权限;适用于任意传输模式;与getPlaybackHeadPosition成对使用。使用限制。
2025-12-13 07:00:00
902
原创 Android16音频之获取缓冲区容量AudioTrack.getBufferCapacityInFrames:用法实例(一百四十一)
本篇目的:Android16进阶之获取缓冲区容量AudioTrack.getBufferCapacityInFrames:用法实例基本概念getBufferCapacityInFrames通过AudioTrack返回底层共享内存的最大帧容量(包含已用与空闲),用于评估硬件上限、内存占用、性能调优。功能立即返回int帧数;与setBufferSizeInBytes联动;与采样率、声道数无关;无需权限;适用于任意传输模式。使用限制需在构建后调用;返回值由系统向上对齐;API 24及以上;
2025-12-12 07:30:00
1480
原创 Android16音频之获取缓冲区帧数AudioTrack.getBufferSizeInFrames:用法实例(一百四十)
本篇目的:Android16进阶之获取缓冲区帧数AudioTrack.getBufferSizeInFrames:用法实例基本概念getBufferSizeInFrames通过AudioTrack返回内部共享内存的帧容量(帧=采样点×声道),用于精准计算延迟、欠载阈值、可视化水位。功能立即返回int帧数;与setBufferSizeInBytes联动;与采样率、声道数无关;无需权限;适用于任意传输模式。使用限制需在构建后调用;返回值≥getMinBufferSize帧数;
2025-12-12 07:00:00
1796
原创 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
757
原创 Android16音频之获取播放位置AudioTrack.getPlaybackHeadPosition:用法实例(一百三十八)
本篇目的:Android16进阶之获取播放位置AudioTrack.getPlaybackHeadPosition:用法实例基本概念getPlaybackHeadPosition返回AudioTrack已播放的帧数(帧=采样点×声道),用于计算当前时间、进度条、循环触发,与采样率联动即可换算为毫秒。功能立即返回int帧数;与play()、stop()联动;与采样率、声道数无关;无需权限;适用于任意传输模式。使用限制需在play()后调用;返回帧数非字节;溢出后循环归零;与缓冲区大小无关;
2025-12-11 07:00:00
1725
原创 Android16音频之刷新缓冲区AudioTrack.flush:用法实例(一百三十七)
本篇目的:Android16进阶之刷新缓冲区AudioTrack.flush:用法实例基本概念flush()会立即清空AudioTrack内部已写入但尚未播放的音频数据,并重置播放头位置;仅在STOPPED或PLAYING_PAUSED状态下有效,用于丢弃残留PCM、快速切换素材。功能丢弃未播放数据;与stop()、pause()成对使用;不影响已配置格式;无需权限;线程安全。使用限制必须在stop()之后或pause()状态下调用;
2025-12-10 07:30:00
1871
原创 Android16音频之获取播放参数AudioTrack.getPlaybackParams:用法实例(一百三十六)
本篇目的:Android16进阶之获取播放参数AudioTrack.getPlaybackParams:用法实例基本概念getPlaybackParams通过AudioTrack返回当前生效的PlaybackParams对象,内含速度、音高、跳过静音等设置,用于UI回显、状态保存、同步校准。功能立即返回PlaybackParams实例;与setPlaybackParams联动;无需权限;适用于任意传输模式;可读取speed、pitch、skipSilenceMode。使用限制。
2025-12-10 07:00:00
776
原创 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
1481
原创 Android16音频之获取播放速率AudioTrack.getPlaybackRate:用法实例(一百三十四)
本篇目的:Android16进阶之获取播放速率AudioTrack.getPlaybackRate:用法实例基本概念getPlaybackRate通过AudioTrack返回当前正在使用的输出采样率(Hz),可用于UI回显、比例计算、同步校准,与setPlaybackRate成对使用。功能立即返回int采样率;与原始格式、变速设置联动;无需权限;适用于任意传输模式;与硬件时钟同步。使用限制需在play()后调用才准确;返回值=原始采样率×速率倍率;范围受硬件限制;与缓冲区大小无关;
2025-12-09 07:00:00
1538
原创 Android15车载音频进阶之音频中B、dB、mB、cB、μB的应用(一百四十八)
本篇目的:Android15车载音频进阶之音频中贝尔(B)、分贝(dB)、毫贝尔(mB)、厘贝尔(cB)、微贝尔(μB)的应用。
2025-12-08 07:30:00
1948
原创 Android16音频之设置播放速率AudioTrack.setPlaybackRate:用法实例(一百三十三)
本篇目的:Android16进阶之设置播放速率AudioTrack.setPlaybackRate:用法实例基本概念setPlaybackRate通过AudioTrack动态改变音频输出采样率,实现变速不变调或变调不变速效果,用于快进、慢放、DJ打碟、语言学习等场景。功能支持0.5x-2.0x速率;与原始采样率联动;无需重启播放;与音高、时间拉伸独立;无需权限;立即生效。使用限制需在play()后调用;范围受硬件限制;与缓冲区大小联动;变速模式需配合时间拉伸算法;部分ROM限制范围。
2025-12-08 07:00:00
979
原创 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
689
原创 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
1012
原创 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
978
原创 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
904
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订阅