Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

在边录边转模式中,录音中的最后一小段音频没有转码到mp3中,但是在caf中是有的! #1

Closed
iMinger opened this issue Dec 26, 2017 · 9 comments
Labels

Comments

@iMinger
Copy link

iMinger commented Dec 26, 2017

在边录边转模式中,录音中的最后一小段音频没有转码到mp3中,但是在caf中是有的!

@CivelXu CivelXu added the bug label Feb 25, 2018
@xiaohuapunk
Copy link

xiaohuapunk commented Apr 3, 2019

同样的问题,发现转格式的mp3文件丢失了1秒,猜测可能是因为结束录音的时候转码也会停止,此时可能源文件数据还没有写入完毕,导致丢失了最后的1秒时间,暂时解决方案,录音结束后,延时一秒后在停止转码的操作

/**
 send end record signal
 */
- (void)sendEndRecord {
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        self.stopRecord = YES;
    });
}

@CivelXu
Copy link
Owner

CivelXu commented Apr 3, 2019

@xiaohuapunk 你好, 感谢你的反馈; 我刚才有做一些调整;
重新做了逻辑判断; 结束的时候判断是否还有剩余的pcm未进行转码

@CivelXu CivelXu closed this as completed Apr 3, 2019
@xiaohuapunk
Copy link

你好,感谢能及时响应,经测试问题依旧存在,测试机 iPhone 5s iOS12.2

@CivelXu
Copy link
Owner

CivelXu commented Apr 3, 2019

@xiaohuapunk 麻烦检查一下, 是不是更新到了我最新修改的代码; 原来的问题是停止录制的时候, 立刻暂停了转码, 这个时候有一部的pcm还没有完全转换完成; 现在加入了 isSleep 标识; 能确保所有的 pcm 完成转码; 我在Demo中 测试的是没有问题的;

@xiaohuapunk
Copy link

您好大佬,我确定是更新的最新代码,不知是否是因为设备的性能原因导致的,方便QQ联系吗 958439724

@xiaohuapunk
Copy link

查看录音文件发现 mp3文件确实少了1秒

image
image

@CivelXu
Copy link
Owner

CivelXu commented Apr 3, 2019

@xiaohuapunk 重新修改了一些 把 [NSThread sleepForTimeInterval:0.05]; 删掉试试;
不确定是不是线程休眠对这里会有一定影响;

@xiaohuapunk
Copy link

你好,此问题修复了,发现是因为停止录音时 判断 length 不够 PCM_SIZE * 2 导致漏转的问题,已提pr
#2

@monologue555
Copy link

经测试问题依旧存在!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants