Procházet zdrojové kódy

✨ feat(rtc): add RtcManagerAdapter export and related types

- export RtcManagerAdapter in index.ts
- add IRtcManagerAdapter, RtcManagerConfig and RtcEventMap type exports

🐛 fix(rtc): correct client.join parameters and audio track type

- change token parameter from undefined to null in client.join call
- expand _playAudio method parameter type to include IRemoteAudioTrack

📝 docs(types): add new error code type

- add 'TRACKS_NOT_CREATED' to SttErrorCode type

♻️ refactor(sdk-test): adjust import path for type definitions

- update import path for IRtcManagerAdapter from src to src/types
yourname před 2 měsíci
rodič
revize
5c4fda901c

+ 4 - 0
packages/stt-sdk-core/src/index.ts

@@ -2,6 +2,7 @@
 export { SttSdk } from './core/stt-sdk'
 export { SttManagerAdapter } from './managers/stt-manager-adapter'
 export { RtmManagerAdapter } from './managers/rtm-manager-adapter'
+export { RtcManagerAdapter } from './managers/rtc-manager-adapter'
 
 // 核心工具导出
 export { AGEventEmitter } from './core/event-emitter'
@@ -13,12 +14,15 @@ export type {
   SttSdkConfig,
   ISttManagerAdapter,
   IRtmManagerAdapter,
+  IRtcManagerAdapter,
   SttManagerConfig,
   RtmManagerConfig,
+  RtcManagerConfig,
   SttStartOptions,
   SttUpdateOptions,
   SttEventMap,
   RtmEventMap,
+  RtcEventMap,
   ILanguageItem,
   RtmUserInfo,
   RtmChannelMetadata,

+ 3 - 2
packages/stt-sdk-core/src/managers/rtc-manager-adapter.ts

@@ -2,6 +2,7 @@ import AgoraRTC, {
   IAgoraRTCClient,
   IMicrophoneAudioTrack,
   ICameraVideoTrack,
+  IRemoteAudioTrack,
   UID,
 } from 'agora-rtc-sdk-ng'
 import { AGEventEmitter } from '../core/event-emitter'
@@ -77,7 +78,7 @@ export class RtcManagerAdapter extends AGEventEmitter<RtcEventMap> implements IR
       })
 
       // 加入频道
-      await this._client.join(this._appId, channel, token || undefined, userId)
+      await this._client.join(this._appId, channel, token || null, userId)
 
       this._joined = true
 
@@ -212,7 +213,7 @@ export class RtcManagerAdapter extends AGEventEmitter<RtcEventMap> implements IR
     })
   }
 
-  private _playAudio(audioTrack: IMicrophoneAudioTrack | undefined): void {
+  private _playAudio(audioTrack: IMicrophoneAudioTrack | IRemoteAudioTrack | undefined): void {
     if (audioTrack && !audioTrack.isPlaying) {
       audioTrack.play()
     }

+ 1 - 0
packages/stt-sdk-core/src/types/stt-error-types.ts

@@ -14,6 +14,7 @@ export type SttErrorCode =
   | 'TOKEN_ERROR'
   | 'TASK_NOT_FOUND'
   | 'TOKEN_NOT_FOUND'
+  | 'TRACKS_NOT_CREATED'
 
 export interface SttErrorDetails {
   code: SttErrorCode

+ 1 - 1
src/pages/sdk-test/index.tsx

@@ -17,7 +17,7 @@ import type {
   ISttManagerAdapter,
   IRtmManagerAdapter,
   IRtcManagerAdapter,
-} from "../../../packages/stt-sdk-core/src"
+} from "../../../packages/stt-sdk-core/src/types"
 
 const { Title, Text } = Typography