recordStart有两个容易导致调用错误的重要参数,一个是要录制的视频流ID号,一个是要录制的音频流ID号。

本端要recordStart成功,要满足以下几个条件(仅讨论音视频流都要录制的情况):

(1)对端要anduioStart 和videoStart 实时采集到录制所需的音视频流。

(2)本端recordStart前要先anduioStart 和videoStart。

举个例子,当播放端开始调用recordStart的时候,有以下几种常用的录制失败的原因(仅讨论音视频流都要录制的情况)。

场景一:

采集端虽然audioStart 和videoStart 都调用了,但是采集端本身没有或不能采集到音频流或视频流。

结果:

播放端调用record返回值是0,但是生成的文件是空的或无法播放端的。

原理分析:

因为播放端要录制音视频的时候,是需要同时有音频,视频两个数据才能写成一个文件的。

如果缺了其中一个流,就会一直等待缺失的流,如果一直等不到缺失的流,就会生成空文件。

场景二:

播放端没有调用audioStart或videoStart,就开始recordStart。

结果:

播放端调用recordStart的返回值是5。

原理分析:

recordStart所填入的音视频对象没有生成,所以报错5(无效的对象)。

场景三:

播放端的audioStart或videoStart的音视频流ID和recordStart的音频频ID不一致。

结果:

播放端调用recordStart的返回值是5。

原理分析:

recordStart所填入的音视频对象没有生成,所以报错5(无效的对象)。

场景四:

采集端的audioStart或videoStart的音视频流ID和播放端recordStart的音视频流ID不一致

结果:

播放端调用record返回值是0,但是生成的文件是空的或无法播放端的。

原理分析:

因为播放端要录制音视频的时候,是需要同时有音频,视频两个数据才能写成一个文件的。

如果缺了其中一个流,就会一直等待缺失的流,如果一直等不到缺失的流,就会生成空文件。

发表评论

邮箱地址不会被公开。 必填项已用*标注

+ 80 = 84