[RK3288][Android6.0] Audio播放时的pcm数据dump思路

该博客介绍了在Rockchip RK3288平台,运行Android 6.0系统,内核版本3.10.92时,如何动态通过property来控制Audio播放时的pcm数据dump。通过在`out_write`函数中检查property值,当需要dump数据时,调用`dump_out_data`函数将pcm数据写入文件。该方法允许在不重启设备的情况下获取数据,适用于处理一次性bug。
摘要由CSDN通过智能技术生成
Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92

其实这块RK已经写了,不过它的思路很好,即通过动态调节property而来决定是否需要dump data,这样的话在不用reboot的情况下就可以拿数据了,适合处理once的bug,其他模块也可以用这个思路。

static ssize_t out_write(struct audio_stream_out *stream, const void* buffer,
                         size_t bytes)
{
......
	//通过property来控制是否要dump pcm data
    property_get("media.audio.record", value, NULL);
    //
    prop_pcm = atoi(value);
    //非0的值决定要dump多少数据才停止,单位是M
    if (prop_pcm > 0) {
        dump_out_data(buffer, bytes, &prop_pcm);
    }
......
}
dump_out_data():
static void dump_out_data(const void* buffer,size_t bytes, int *size)
 {
    ALOGD("dump pcm file.");
    static FILE* fd;
    static int offset = 0;
    if(fd == NULL) {
        fd=fopen(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值