‪JMSDK iOS  ‪v2.8.0
‪API文档
JCMediaDevice.h
浏览该文件的文档.
1 //
2 // JCMediaDevice.h
3 // JCSDK-OC
4 //
5 // Created by maikireton on 2017/8/11.
6 // Copyright © 2017年 juphoon. All rights reserved.
7 //
8 
9 #import <Foundation/Foundation.h>
10 #import "JCClient.h"
14 
18 @interface JCMediaDeviceCamera : NSObject
22 @property (nonatomic, readonly) NSString* __nonnull cameraId;
26 @property (nonatomic, readonly) NSString* __nonnull cameraName;
30 @property (nonatomic, readonly) JCMediaDeviceCameraType cameraType;
31 
32 @end
33 
37 @interface JCMediaDeviceAudio : NSObject
38 
42 @property (nonatomic, readonly) NSString* __nonnull audioId;
43 
47 @property (nonatomic, readonly) NSString* __nonnull audioName;
48 
52 @property (nonatomic, readonly) bool input;
53 
54 @end
55 
59 @interface JCMediaDeviceWindow : NSObject
60 
64 @property (nonatomic, readonly) NSString* __nonnull windowId;
65 
69 @property (nonatomic, readonly) NSString* __nonnull windowName;
70 
71 @end
72 
76 @interface JCMediaDeviceAudioParam : NSObject
77 
83 @property (nonatomic) int audioInputSamplingRate;
84 
90 @property (nonatomic) int audioOutputSamplingRate;
91 
97 @property (nonatomic) int audioInputChannelNumber;
98 
104 @property (nonatomic) int audioOutputChannelNumber;
105 
106 @end
107 
111 @interface JCMediaDevice : NSObject
112 
116 @property (nonatomic, readonly) bool isAudioInputStart;
117 
121 @property (nonatomic, readonly) bool isAudioOutputStart;
122 
126 @property (nonatomic, readonly) bool cameraOpen;
127 
131 @property (nonatomic, readonly) bool videoFileOpen;
132 
136 @property (nonatomic, readonly) JCMediaDeviceCamera* __nullable currentCamera;
137 
141 @property (nonatomic, readonly) NSArray<JCMediaDeviceCamera*> * __nonnull cameras;
142 
146 @property (nonatomic) JCMediaDeviceCamera* __nullable defaultCamera;
147 
151 @property (nonatomic, strong) JCMediaDeviceAudioParam * __nonnull audioParam;
152 
156 @property (nonatomic, strong, readonly) NSString* __nonnull videoFileId;
157 
161 @property (nonatomic, readonly) bool audioInterrupt;
162 
166 @property (nonatomic) JCMediaDeviceVideoAngel videoAngle;
167 
177 @property (nonatomic) bool useInternalAudioDeviceLogic;
178 
182 @property (nonatomic, readonly) bool audioStart;
183 
184 #if TARGET_OS_OSX
188 @property (nonatomic, readonly) NSArray<JCMediaDeviceAudio*>* __nonnull audioInputs;
189 
193 @property (nonatomic, strong) JCMediaDeviceAudio* __nullable audioInput;
194 
198 @property (nonatomic, readonly) NSArray<JCMediaDeviceAudio*>* __nonnull audioOutputs;
199 
203 @property (nonatomic, strong) JCMediaDeviceAudio* __nullable audioOutput;
204 
208 @property (nonatomic, readonly) NSArray<JCMediaDeviceWindow*>* __nonnull desktops;
209 
213 @property (nonatomic, readonly) NSArray<JCMediaDeviceWindow*>* __nonnull windows;
214 
218 @property (nonatomic, strong) JCMediaDeviceWindow* __nullable screenshareWindow;
219 #endif
220 
227 + (JCMediaDevice* __nullable)create:(JCClient* __nonnull)client callback:(id<JCMediaDeviceCallback> __nonnull)callback;
228 
233 - (NSArray<JCMediaDeviceCamera *> * __nullable)getCameras;
234 
240 - (JCMediaDeviceVideoCanvas* __nullable)startCameraVideo:(int)type;
241 
248 - (JCMediaDeviceVideoCanvas* __nullable)startVideo:(NSString* __nonnull)videoSource renderType:(int)type;
249 
257 - (JCMediaDeviceVideoCanvas* __nullable)startVideo:(NSString* __nonnull)videoSource renderType:(int)type view:(JCView* __nonnull)view;
258 
263 - (void)stopVideo:(JCMediaDeviceVideoCanvas* __nonnull)canvas;
264 
269 - (bool)startAudio;
270 
275 - (bool)stopAudio;
276 
281 - (bool)startAudioInput;
282 
287 - (bool)stopAudioInput;
288 
293 - (bool)startAudioOutput;
294 
299 - (bool)stopAudioOutput;
300 
306 - (bool)startCamera;
307 
312 - (bool)stopCamera;
313 
318 - (bool)switchCamera;
319 
322 - (bool)switchCamera:(JCMediaDeviceCamera* __nonnull)camera;
323 
328 - (void)specifyCamera:(JCMediaDeviceCamera* __nonnull)camera;
329 
334 - (void)specifyCameraAngle:(int)angle;
335 
342 - (void)setCameraProperty:(int)width height:(int)height framerate:(int)framerate;
343 
350 - (void)setScreenCaptureProperty:(int)width height:(int)height framerate:(int)framerate;
351 
352 #if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
353 
357 @property (nonatomic) bool defaultSpeakerOn;
358 
363 - (bool)isSpeakerOn;
364 
369 - (void)enableSpeaker:(bool)enable;
370 
375 - (NSString* __nullable)getAudioOutputType;
376 #endif
377 
382 - (bool)startVideoFile;
383 
388 - (bool)startScreenShareVideoFile;
389 
399 - (bool)setVideoFileFrame:(NSData* __nonnull)srcFrame format:(JCMediaDeviceVideoPixelFormat)format width:(int)width height:(int)height angle:(int)angle;
400 
407 - (void)setVideoFileFrame:(CVPixelBufferRef __nonnull)srcFrame angle:(int)angle mirror:(int)mirror;
408 
418 - (bool)startVideoCaptureRecordFilePath:(NSString *_Nonnull)filePath captureId:(NSString *_Nonnull)captureId fileType:(JCVideoCaptureRecordFileType)fileType width:(int)width height:(int)height;
419 
425 - (bool)stopVideoCaptureRecordCaptureId:(NSString *_Nonnull)captureId;
426 
427 
434 - (bool)startAudioRecordFilePath:(NSString *_Nullable)filePath fileType:(JCAudioCaptureRecordFileType)fileType;
435 
440 - (bool)stopAudioCaptureRecord;
441 
446 - (bool)stopVideoFile;
447 
451 - (void)destroy;
452 
457 - (int)getScreenFramerate;
458 
459 @end
JCVideoCaptureRecordFileType
Definition: JCMediaDeviceConstants.h:111
JCAudioCaptureRecordFileType
Definition: JCMediaDeviceConstants.h:88
JCMediaDeviceCameraType
Definition: JCMediaDeviceConstants.h:81
JCMediaDeviceVideoPixelFormat
Definition: JCMediaDeviceConstants.h:40
JCMediaDeviceVideoAngel
Definition: JCMediaDeviceConstants.h:73
JCClient 为全局基础类,主要负责登陆登出管理及账户属性存储
Definition: JCClient.h:16
Definition: JCMediaDevice.h:38
Definition: JCMediaDevice.h:77
设备摄像头
Definition: JCMediaDevice.h:19
NSString *__nonnull cameraName
Definition: JCMediaDevice.h:26
JCMediaDeviceCameraType cameraType
Definition: JCMediaDevice.h:30
NSString *__nonnull cameraId
Definition: JCMediaDevice.h:22
设备模块
Definition: JCMediaDevice.h:112
视频对象,用于UI层方便操作视频
Definition: JCMediaDeviceVideoCanvas.h:25
Definition: JCMediaDevice.h:60
JCMediaDevice 回调代理
Definition: JCMediaDeviceCallback.h:15