# Problem recording screen in custom UI mode

**URL:** <https://devforum.zoom.us/t/problem-recording-screen-in-custom-ui-mode/35991>\
**Category:** macOS\
**Created:** [November 13, 2020, 9:14pm UTC](https://devforum.zoom.us/t/problem-recording-screen-in-custom-ui-mode/35991 "2020-11-13T21:14:27Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![stalefishlabs](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/stalefishlabs/32/16374_2.png) [@stalefishlabs](https://devforum.zoom.us/u/stalefishlabs)\
**Post date:** [November 13, 2020, 9:14pm UTC](https://devforum.zoom.us/t/problem-recording-screen-in-custom-ui-mode/35991/1 "2020-11-13T21:14:27Z")

</div>

**Description**  
I’m having trouble recording the screen in custom UI mode, and there are two potential issues, neither of which I can figure out. First is that startRecording is failing with ZoomSDKError\_InvalidPrameter. I figured this is probably the timestamp, so I’ve tried numerous approaches to the timestamp with no luck. Here’s my Swift code (captureMovieFilePath is a full string local file path):

var time: time\_t = Int(Date().timeIntervalSince1970)  
…  
let error = recordController.startRecording(&time, saveFilePath: captureMovieFilePath)

The other problem I’m having that makes me suspicious of the prior problem is this:

ZoomSDKError allowRecordingSupported = [[[[ZoomSDK sharedSDK] getMeetingService] getRecordController] allowLocalRecording:TRUE User:currentUser.userID];

That call is returning ZoomSDKError\_NoPermission. Please ignore the mixing of Swift and Objective-C, this is a mixed project. I am the host and only participant in this meeting, so I don’t understand how I lack recording permission or fail giving myself permission. In OSX prefs I’ve already enabled screen recording for this app by the way. One more method call in case this helps:

ZoomSDKError isSupportLocalRecording = [[[[ZoomSDK sharedSDK] getMeetingService] getRecordController] isSupportLocalRecording:currentUser.userID];

That one is successful.

So in summary: isSupportLocalRecording is successful, allowRecordingSupported says no permission, and startRecording says invalid parameter. I’m kind of at a loss for what else to change, so any help would be greatly appreciated.

**Which version?**  
v5.2.41751.1026

---

<div class="post-metadata">

**Author:** ![jon.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jon.zoom/32/13495_2.png) [@jon.zoom](https://devforum.zoom.us/u/jon.zoom)\
**Post date:** [November 24, 2020, 6:15pm UTC](https://devforum.zoom.us/t/problem-recording-screen-in-custom-ui-mode/35991/2 "2020-11-24T18:15:30Z")

</div>

Hi @stalefishlabs, thanks for the post.

Sorry to hear you’re running into these issues when trying to set up recording. Before we get started on debugging your implementation, let’s first confirm that you have properly setup local recording for your account by following the steps outlined [here](https://support.zoom.us/hc/en-us/articles/201362473-Local-recording).

Once you have confirmed that the correct steps to enable recording have been followed, we can try to determine whether or not there is an issue within your implementation itself.

Thanks!

---

<div class="post-metadata">

**Author:** ![hkr.noel](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/hkr.noel/32/10621_2.png) [@hkr.noel](https://devforum.zoom.us/u/hkr.noel)\
**Post date:** [April 16, 2021, 7:30am UTC](https://devforum.zoom.us/t/problem-recording-screen-in-custom-ui-mode/35991/3 "2021-04-16T07:30:30Z")

</div>

Hello, Any news regarding this issue ? Im facing the same problem, find my code below :

-(void)startRecord {  
NSArray \*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
NSString \*documentsDirectory = [paths objectAtIndex:0];

```
time_t timeStamp = [[NSDate date] timeIntervalSinceNow];
ZoomSDKMeetingRecordController *record = [[[ZoomSDK sharedSDK] getMeetingService] getRecordController];
[record setDelegate:self];
ZoomSDKError canStartRecording = [record canStartRecording:NO];
if (canStartRecording == ZoomSDKError_Success) {
    NSLog(@"canStartRecordingSuccess");
}

ZoomSDKError isSupportLocalRecording = [record isSupportLocalRecording:self.mySelfUserInfo.getUserID];
if (isSupportLocalRecording == ZoomSDKError_Success) {
    NSLog(@"isSupportLocalRecordingSuccess");
}

ZoomSDKError allowRecordingSupported = [record allowLocalRecording:YES User:self.mySelfUserInfo.getUserID];
if (allowRecordingSupported == ZoomSDKError_Success) {
    NSLog(@"allowRecordingSupportedSuccess");
}

[record startRecording:&timeStamp saveFilePath:documentsDirectory];
ZoomSDKError error = [record requestCustomizedLocalRecordingNotification:YES];
if (error == ZoomSDKError_Success) {
    NSLog(@"requestCustomizedLocalRecordingNotificationSuccess");
}

```

}

- (void)onRecord2MP4Done:(BOOL)success Path:(NSString \*)recordPath {  
if (success) {  
NSString \*filePath = [NSString stringWithFormat:@"%@meetingrec\_0.mp4",recordPath];

- (void)onCustomizedRecordingSourceReceived:(CustomizedRecordingLayoutHelper \*)helper {  
ZoomSDKError error = [helper selectShareSource:RecordingLayoutMode\_VideoWall];  
if (error == ZoomSDKError\_Success) {  
NSLog(@“selectShareSourceSuccess”);  
}

I was able to record the audio but the video is a black screen.

---

<div class="post-metadata">

**Author:** ![jon.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/jon.zoom/32/13495_2.png) [@jon.zoom](https://devforum.zoom.us/u/jon.zoom)\
**Post date:** [April 16, 2021, 8:52pm UTC](https://devforum.zoom.us/t/problem-recording-screen-in-custom-ui-mode/35991/4 "2021-04-16T20:52:08Z")

</div>

Hi @hkr.noel, thanks for using the dev forum.

Sorry to hear that you are also experiencing issues with recording. Can you please provide the SDK logs so that we may investigate this further? You can send the logs over to [developersupport@zoom.us](mailto:developersupport@zoom.us) and mention this thread.

Thanks!
