Kalay1.0标准-升级版PSC

Kalay1.0 升级版PSC


Upgrade iOS Old API to New API

<p>[TOC]</p> <h1>1. The old API is deleted, please replace it with the new API.</h1> <table> <thead> <tr> <th style="text-align: left;">Old API</th> <th style="text-align: left;">New API</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">Camera : delegate</td> <td style="text-align: left;">Camera : P2PDelegate &amp; Camera : MediaDelegate</td> </tr> <tr> <td style="text-align: left;">Camera : tpnsInterval</td> <td style="text-align: left;">abandon</td> </tr> <tr> <td style="text-align: left;">Camera : isUsingGaAudioUnit</td> <td style="text-align: left;">abandon</td> </tr> <tr> <td style="text-align: left;">Camera : isAVChannelStartShow:</td> <td style="text-align: left;">abandon</td> </tr> <tr> <td style="text-align: left;">Camera : getThumbnail:</td> <td style="text-align: left;">abandon</td> </tr> <tr> <td style="text-align: left;">Camera : deleteThumbnail:</td> <td style="text-align: left;">abandon</td> </tr> <tr> <td style="text-align: left;">Camera : setHWDecodingAbility: requestHWDecode:</td> <td style="text-align: left;">Camera :TK_setHWDecodingAbility: requestHWDecode:</td> </tr> <tr> <td style="text-align: left;">Camera : initWithName:</td> <td style="text-align: left;">Camera :TK_initWithName:</td> </tr> <tr> <td style="text-align: left;">Camera : getViewAccountOfChannel:</td> <td style="text-align: left;">Camera :TK_getViewAccountOfChannel:</td> </tr> <tr> <td style="text-align: left;">Camera : getViewPasswordOfChannel</td> <td style="text-align: left;">Camera :TK_getViewPasswordOfChannel:</td> </tr> <tr> <td style="text-align: left;">Camera : initIOTC</td> <td style="text-align: left;">abandon</td> </tr> <tr> <td style="text-align: left;">Camera : TK_initIOTC: success: failure:</td> <td style="text-align: left;">Camera : TK_InitIOTCWithLiceseKey: privateKey: success: failure:</td> </tr> <tr> <td style="text-align: left;">Camera : uninitIOTC</td> <td style="text-align: left;">Camera :TK_uninitIOTC</td> </tr> <tr> <td style="text-align: left;">Camera : getIOTCameraVersion</td> <td style="text-align: left;">Camera :TK_getIOTCameraVersion:</td> </tr> <tr> <td style="text-align: left;">Camera : getIOTCAPIsVerion</td> <td style="text-align: left;">Camera :TK_getIOTCAPIsVersion:</td> </tr> <tr> <td style="text-align: left;">Camera : getAVAPIsVersion</td> <td style="text-align: left;">Camera :TK_getAVAPIsVersion:</td> </tr> <tr> <td style="text-align: left;">Camera : LanSearch: timeout:</td> <td style="text-align: left;">Camera :TK_LanSearch: timeout:</td> </tr> <tr> <td style="text-align: left;">Camera : connect</td> <td style="text-align: left;">Camera :TK_connect</td> </tr> <tr> <td style="text-align: left;">Camera : start: viewAccount: viewPassword: is_playback:</td> <td style="text-align: left;">Camera : TK_start: viewAccount: viewPassword:  authType: is_playback:</td> </tr> <tr> <td style="text-align: left;">Camera : disconnect</td> <td style="text-align: left;">TK_disconnect</td> </tr> <tr> <td style="text-align: left;">Camera : stop</td> <td style="text-align: left;">Camera : TK_stop</td> </tr> <tr> <td style="text-align: left;">Camera : sendIOCtrlToChannel: Type: Data: DataSize:</td> <td style="text-align: left;">Camera : TK_sendIOCtrlToChannel: Type: Data: DataSize:</td> </tr> <tr> <td style="text-align: left;">Camera : getServiceTypeOfChannel</td> <td style="text-align: left;">Camera : TK_getServiceTypeOfChannel</td> </tr> <tr> <td style="text-align: left;">Camera : getConnectionStateOfChannel</td> <td style="text-align: left;">Camera : TK_getConnectionStateOfChannel</td> </tr> <tr> <td style="text-align: left;">Camera : startShow: ScreenObject:</td> <td style="text-align: left;">Camera : TK_startShow: ScreenObject:</td> </tr> <tr> <td style="text-align: left;">Camera : TK_setIsDecode: withChannel:</td> <td style="text-align: left;">abandon</td> </tr> <tr> <td style="text-align: left;">Camera : startRecvFrame: ScreenObject:</td> <td style="text-align: left;">abandon</td> </tr> <tr> <td style="text-align: left;">Camera : stopRecvFrame:</td> <td style="text-align: left;">abandon</td> </tr> <tr> <td style="text-align: left;">Camera : stopShow</td> <td style="text-align: left;">Camera : TK_stopShow</td> </tr> <tr> <td style="text-align: left;">Camera : startSoundToPhone</td> <td style="text-align: left;">Camera : TK_startSoundToPhone</td> </tr> <tr> <td style="text-align: left;">Camera : stopSoundToPhone</td> <td style="text-align: left;">Camera : TK_stopSoundToPhone</td> </tr> <tr> <td style="text-align: left;">Camera : startSoundToDevice:</td> <td style="text-align: left;">Camera : TK_startSoundToDevice</td> </tr> <tr> <td style="text-align: left;">Camera : startSoundToDevice: resend:</td> <td style="text-align: left;">Camera : TK_startSoundToDevice: isResend: captureSize:</td> </tr> <tr> <td style="text-align: left;">Camera : startSoundToDevice</td> <td style="text-align: left;">Camera : TK_stopSoundToDevice</td> </tr> <tr> <td style="text-align: left;">Camera : startRecvAudio:</td> <td style="text-align: left;">abandon</td> </tr> <tr> <td style="text-align: left;">Camera : stopRecvAudio:</td> <td style="text-align: left;">abandon</td> </tr> <tr> <td style="text-align: left;">Camera : initVideoGenerator:</td> <td style="text-align: left;">abandon</td> </tr> <tr> <td style="text-align: left;">Camera : startRecordingForChannel: withDuration:</td> <td style="text-align: left;">Camera : TK_startRecording: Channel:</td> </tr> <tr> <td style="text-align: left;">Camera : stopRecording</td> <td style="text-align: left;">Camera : TK_stopRecording</td> </tr> <tr> <td style="text-align: left;">Camera : getChannel: Snapshot: DataSize: ImageType: WithImageWidth: ImageHeight:</td> <td style="text-align: left;">Camera : TK_getChannel: Snapshot: DataSize: ImageType: WithImageWidth: ImageHeight:</td> </tr> <tr> <td style="text-align: left;">Camera : reStartShow: withCompleteBlock:</td> <td style="text-align: left;">abandon</td> </tr> <tr> <td style="text-align: left;">Camera : camera: didReceiveFrameInfoWithChannel: videoWidth: VideoHeight: VideoFPS: VideoBPS: AudioBPS: OnlineNm: FrameCount: IncompleteFrameCount: </td> <td style="text-align: left;">Camera : camera: didReceiveFrameInfoWithChannel: videoWidth: VideoHeight: VideoFPS: VideoBPS: AudioBPS: OnlineNm: FrameCount: IncompleteFrameCount: isHwDecode:</td> </tr> <tr> <td style="text-align: left;">Camera :TK_setOutputFrameData: withChannel:</td> <td style="text-align: left;">abandon</td> </tr> <tr> <td style="text-align: left;">Camera : reStartShow: withCompleteBlock:</td> <td style="text-align: left;">abandon</td> </tr> <tr> <td style="text-align: left;">Camera : TK_startShowWithYUV: isSWDecode:</td> <td style="text-align: left;">abandon</td> </tr> <tr> <td style="text-align: left;">Camera : TK_initVideoGenerator:</td> <td style="text-align: left;">abandon</td> </tr> <tr> <td style="text-align: left;">Camera : isListening</td> <td style="text-align: left;">abandon</td> </tr> <tr> <td style="text-align: left;">Camera : isRecording</td> <td style="text-align: left;">abandon</td> </tr> <tr> <td style="text-align: left;">Camera : sendIOCtrlToChannel: Type: Data: DataSize:</td> <td style="text-align: left;">Camera : TK_sendIOCtrlToChannel: Type: Data: DataSize:</td> </tr> </tbody> </table> <h1>2. Initialization (uninitialization) API Modification</h1> <p>Please use Camera: TK_InitIOTCWithLiceseKey: privateKey: success: failure: for SDK initialization. Use Camera: TK_uninitIOTC for deinitialization The specific modifications are as follows:</p> <ol> <li>Delete Camera : TK_initIOTC: success: failure:</li> <li>Delete Camera : uninitIOTC</li> <li>Delete Camera : initIOTC</li> </ol> <h1>3. Connection API Modification</h1> <p>Please use Camera: TK_connect to connect the device, and use Camera.TK_start to connect the AV channel. The specific modifications are as follows:</p> <ol> <li>Change parameters,Camera : TK_start: ====&gt; Camera :TK_start: viewPassword:</li> <li>Change parameters,TK_start: viewAccount: viewPassword:  authType: is_playback: ====&gt; Camera : TK_start: viewAccount: viewPassword: authType: ecurityMode:</li> <li>Delete Camera.TK_setDtls,If you want to use DTLS to connect, please use Camera : TK_start: viewAccount: viewPassword: authType: ecurityMode:</li> </ol> <h1>4. Video Streaming API Modifications</h1> <p>Please use TK_startShow(int avChannel) to start the video stream. TK_start If you want to obtain video data, please use the Camera: MeidaDelegate proxy method. The specific modifications are as follows:</p> <ol> <li>Delete Camera : TK_startShowWithYUV, if you want to get the decoded yuv data, please use TK_startShow: ScreenObject: isDecode: isSWDecode: isDropFrame: renderType</li> <li>Delete Camera : TK_startRecvFrame/Camera : TK_stopRecvFrame, if you want to only obtain the device video stream without decoding and rendering, please use TK_startShow: ScreenObject: isDecode: isSWDecode: isDropFrame: renderType</li> <li>Added new interface for obtaining video formats - (NSInteger)TK_getVideoCodecId:(NSInteger)channel;</li> </ol> <h1>5. Audio Streaming API Modifications</h1> <p>Please use TK_startSoundToPhone(int avChannel) to start the audio stream. Compared with the old API, the new API ====&gt; TK_startSoundToPhone: isDecodeAndPlay: changes the isListening parameter to isDecodeAndPlay. If you want to obtain audio data, please use the Camera: MeidaDelegate proxy method. . The specific modifications are as follows:</p> <ol> <li>Change parameters,Camera.startSoundToPhone(int avChannel, boolean isListener) ====&gt; Camera.startSoundToPhone(int avChannel, boolean isDecodeAndPlay),The framework automatically determines whether the audio needs to be played. The isListener parameter is changed to isDecodeAndPlay, indicating whether it needs to be decoded and played.</li> <li>Delete Camera.TK_startRecvAudio/Camera.TK_stopRecvAudio。If you want to only get the audio from the device without decoding and playing it, please use Camera.startSoundToPhone(int avChannel, boolean isDecodeAndPlay).</li> <li>Added new interface for obtaining listening audio format - (NSInteger)TK_getAudioOutputCodecId:(NSInteger)channel;</li> <li>Added new interface for obtaining speaking audio format - (NSInteger)TK_getAudioInputCodecId:(NSInteger)channel;</li> <li>Change API name:TK_setSoundToDeviceFormatsChannel(Original API: TK_setAudioSpeakFormatsChannel);</li> <li>Change API name:TK_getSoundToPhoneCodeId(Original API: TK_getAudioOutputCodecId);</li> <li>Change API name:TK_getSoundToDeviceCodeId(Original API: TK_setAudioInputCodecId);</li> <li>Delete API:TK_setAudioPlayTheWay,Please use TK_isAudioOutputavChannel instead;</li> <li>Delete API:TK_setAudioOutput,Please use TK_isAudioOutputavChannel instead;</li> <li>New parameter isSendCommand based on TK_startShow;</li> </ol> <h1>6. Screenshot API Modification</h1> <p>Please use Camera: TK_getSnapShotImageWithChannel to take screenshots. The specific modifications are as follows:</p> <h1>7. Video Recording API Modification</h1> <p>Please use Camera : TK_startRecording: Channel: to record. The bottom layer no longer limits the recording duration and automatically determines whether audio needs to be recorded. The specific modifications are as follows:</p> <ol> <li>Modify API Camera: startRecordingForChannel: withDuration: to use TK_startRecording: Channel:</li> <li>Delete Camera: TK_initVideoGenerator</li> </ol> <h1>8. Audio and Video Data API Modification</h1> <p>Added Camera MediaDelegate proxy method to obtain audio and video data, and deleted other APIs for obtaining audio and video data. The method to delete an agent is as follows:</p> <ol> <li>Get video reception raw data callback: <ul> <li>(void)camera:(Camera *)camera didReceiveTimestamp:(unsigned int)frmTimestamp Channel:(NSInteger)channel; (abandon)</li> <li>(void)camera:(Camera <em>)camera didReceiveFrameDataInfo:(NSData </em>)frameData Channel:(NSInteger)channel; (abandon)</li> </ul></li> <li>Hard decoding video receiving raw data callback: <ul> <li>(void)camera:(Camera *)camera didUpdateDecodedSampleBuffer: (CMSampleBufferRef)sampleBuffer timestamp:(uint64_t)timestamp Channel:(NSInteger)channel; (abandon)</li> <li>(void)CameraUpdateDecodedH264SampleBuffer: (CMSampleBufferRef)sampleBuffer; (abandon)</li> </ul></li> </ol> <h1>9. Added P2P Proxy Method</h1> <p>Modify API name, modify the parameters in the interface, and organize the callback methods. The specific modifications are as follows:</p> <ol> <li>Change the proxy name to P2PDelegate;</li> <li>Modify the callback parameters, - (void)camera:(Camera *)camera didChangeSessionStatus:(NSInteger)status errorCode:(NSInteger)errorCode;</li> <li>Modify the callback parameters, - (void)camera:(Camera *)camera didChangeChannelStatus:(NSInteger)channel ChannelStatus:(NSInteger)status errorCode:(NSInteger)errorCode;</li> <li> <ul> <li>(void)camera:(Camera *)camera didconnFailErrCode:(NSInteger)connFailErrCode; (abandon)</li> </ul> </li> <li>New callback method: - (void)camera:(Camera *)camera didRecvVideoChannel:(NSInteger)channel errorCode:(NSInteger)errorCode;</li> <li>New callback method: - (void)camera:(Camera *)camera didRecvAudioChannel:(NSInteger)channel errorCode:(NSInteger)errorCode;</li> <li>Modify the callback parameters, - (void)camera:(Camera <em>)camera didReceiveIOCtrlWithType:(NSInteger)type Data:(const char</em>)data DataSize:(NSInteger)size Channel:(NSInteger)channel;</li> </ol>

页面列表

ITEM_HTML