今天和朋友语音聊天,想记录下谈话的内容,用到苹果手机自带的屏幕录制功能,录制结束后点停止录制后却报错-5823,白白录了那么久,很是恼火,不知是系统问题还是腾讯QQ自身问题,于是乎花了点时间测验。
手机型号 苹果x
系统版本 13.1
QQ版本号v8.2.9.604
首先,关闭屏幕录制内的麦克风选项,语音通话可以正常录制和保存。
回放录制内容时,听不到自己的声音(因为没打开麦克风选项,无法录制来自手机外部的声音),同时也没有对方的声音(这就有些奇怪了)。
用手机播放一部电影,打开屏幕录制功能,可以录制到电影的声音,这是因为音频是解码后在手机扬声器播放的,而屏幕录制时,直接将音频编码写入视频即可完成声音的录制(若此刻打开屏幕录制的麦克风选项,扬声器播放的电影声音并不会影响录制的声音,莫非是算法把麦克风接收到的音频中滤去了视频原本的声音?)。这个QQ传来的对方声音有和不同呢,对方的声音是由对方手机的麦克风录制编码传入本手机进而播放的,按理说也能实现对方声音录入,或许是QQ的加密算法,使得无法把对方的声音编码进视频。
开始怀疑报错是因为QQ语音通话时占用了麦克风,而录屏再调用麦克风会造成冲突,但是用系统软件语音备忘录录音时可以正常使用屏幕录制功能(打开了麦克风选项),排除占用冲突。
而后本机插入耳机,可以打开录制功能里的麦克风选项,实现自身声音录入,仍然录制不到对方的声音。
为何插入耳机就可以打开麦克风录制了呢?从一位吧友那找到了有些合理的解答
一个很日常的现象就是和朋友连麦打游戏时,如果外放,对方就会听到自己声音的回声,而手机无论是视频还是语音外放,都不会听到自己的回声,手机应该有硬件和算法上的升级,比如1秒内有0.5秒状态是麦克风打开,扬声器关闭,另外0.5秒是麦克风关闭,扬声器打开,用抽样实现,并不影响用户的正常体验,同时使得扬声器和麦克风互不干扰,而打开屏幕录制的麦克风,或许使得麦克风在1秒内有0.7秒是开启状态,这就使得QQ与系统调用冲突,从而报错。插入耳机又是另一种情况了,麦克风和扬声器互不影响,可以各干各的,于是不存在任何冲突。
以上只是个人的猜想,由于并不了解即时通讯的编码解码方式,欢迎大神给出正确的解答。