一个可以捕获您屏幕操作包括音频录制器的工具。
在本地克隆项目。
访问 Demo 目录,并在终端中运行 pod install
。
在 XCode 中运行 KSScreenCaptureDemo.xcworkspace,您将看到如图所示的演示应用程序。
用于捕获您的 iOS 应用程序屏幕,包括音频录制。建议通过 cocoapod 安装库。
此外,此库还包括一个名为 KSAudioCapture 的音频录制器,以使用 AVAudioRecorder 功能。使用 KSAudioCapture 的好处是它可以帮助您处理权限问题,并且您可以仅调用它而不处理权限授予问题。
将其添加到 Podfile
pod 'KSScreenCapture'
在任何您想捕获屏幕的地方包含 'KSScreenCapture.h'。
支持至 iOS 9。
使用目标和记录层初始化
KSScreenCapture *capture = [[KSScreenCapture alloc] initWithTarget:self CaptureLayer:recordView.layer];
recordView 的宽度和高度应该是 32 的倍数!
使用成功/失败块开始记录
[capture startRecordSuccess:successCallback fail:failCallback];
声明您的视图控制器实现 KSScreenCaptureDelegate 方法,并在捕获完成后调用代理方法。您可以自己通过 videoPath 中的块处理视频源文件。
- (void)KSScreenCaptureDidFinish:(KSScreenCapture *)capture path:(NSString *)videoPath {
// Handle the video source from videoPath
}
或者,您只需一行代码即可将视频保存到相册中,这将为您处理权限问题。
[capture saveVideoAtPathToSavedPhotosAlbum:videoPath completeSeletor:nil];
您还可以仅使用 KSAudioCapture 进行音频录制。在任何您想使用它的地方包含 KSaudioCapture.h 标头文件。
使用文件名、目标和音频设置初始化音频捕获。只需目标,其他参数可以使用默认值设置为 nil。
audioCapture = [[KSAudioCapture alloc] initWithFileName:nil target:self setting:nil];
使用成功/失败块开始记录
[audioCapture startRecordSuccess:successCallback fail:failCallback];
声明您的视图控制器实现 KSAudioCaptureDelegate 方法,并在捕获完成后调用代理方法。您可以自己通过块中的 url 处理音频源文件。
- (void)KSAudioCaptureDidFinishWithURL:(NSURL *)url successfully:(BOOL)flag {
// Handle the audio source from file url
}
此工具基于 Blazeice 的作品,感谢 Blazeice 以及 wayne li。