# RevueSDK > Peer-to-peer voice, video and screen sharing SDK for iOS (Swift). Guides and the Swift API reference. Every page is also available as Markdown at the same path with a .md extension. The full text is in [llms-full.txt](llms-full.txt); an Agent Skills package is in [revuesdk-skill.zip](revuesdk-skill.zip). ## Guides - [Home](index.md): RevueSDK adds peer-to-peer voice, video and screen sharing to your app. These guides explain the concepts and walk you through each feature. - [Quickstart](getting-started/quickstart.md) - [Using RevueSDK with AI](getting-started/ai-tools.md): Give your AI coding assistant the RevueSDK documentation so it writes code against the real API. - [Initialization and configuration](connecting/initialization.md): `Revue.shared` is the entry point of the SDK. Before you can add friends, invite them or publish tracks, start the SDK with `initialize(_:)`. When you are do… - [Connection](connecting/connection.md): RevueSDK has no server to connect to. Devices find each other on a peer-to-peer network, and a call starts when a friend accepts your invitation. Getting the… - [Disconnection](connecting/disconnection.md): A call with one participant ends when either side hangs up or the connection to them fails. Both sides then receive `participantDidDisconnect`. The room itse… - [Connection state](connecting/connection-state.md): Three different states answer three different questions: - [Room](core/room.md): `Room` holds everyone you are in a call with: you, and every friend you are connected to. Get the room from `Room.shared`; you cannot create a `Room` yoursel… - [Events](core/events.md): RevueSDK reports what happens through three delegate protocols. Each one has an empty default for every method, so implement only the events you need. - [Errors](core/errors.md): Methods that publish tracks or change a published track throw `RoomError`. These are the cases they throw: - [Logging and debugging](core/logging.md): The SDK reports what it is doing through log entries. You decide where they go: print them, write them to a file, or attach them to a bug report. - [Participant](participants/participant.md): `Participant` holds what the local and the remote participants have in common. You never create one: the local user is `Room.localParticipant`, and everyone… - [LocalParticipant](participants/local-participant.md): `LocalParticipant` is the participant that represents this device in a `Room`. Get it from `Room.localParticipant` on `Room.shared`. You use it to publish yo… - [RemoteParticipant](participants/remote-participant.md): A `RemoteParticipant` is a friend who is in the call with you. Get one from `Room.remoteParticipants` on `Room.shared`, keyed by friend ID. - [Publishing tracks](participants/publishing.md): Publishing sends one of your tracks to one connected participant. There is no server in between, so every publish names its recipient with `to:`, and only th… - [Tracks](tracks/tracks.md): A `Track` is one stream of audio or video. Your camera, microphone and screen share are local tracks (`LocalVideoTrack` and `LocalAudioTrack`), and what a re… - [Track publications](tracks/publications.md): A `TrackPublication` is one participant's copy of a track. When you publish a track to a participant, you get a `LocalTrackPublication` for that participant,… - [Statistics](tracks/statistics.md): `Track.statistics` holds the latest `TrackStatistics` of a track: what the camera or microphone captures, what is sent or received, and how the connection to… - [Camera and capture options](media/capture-options.md): A capturer produces the frames or audio of a local track. Each local track has one, in `LocalVideoTrack.capturer` or `LocalAudioTrack.capturer`: - [Publish options and encoding](media/encoding.md): When you publish a track you can pass options that decide how it is encoded for that participant: the codec, the bitrate and the frame rate. Every publish go… - [Rendering video](media/rendering-video.md): `VideoView` shows a video track on screen: your own camera, a participant's video, a screen share or a track you fill with your own frames. It is a `UIView`,… - [Audio](media/audio.md) - [Screen sharing](media/screen-sharing.md) - [Encryption](media/encryption.md) - [Friends](revue-features/friends.md) - [Presence](revue-features/presence.md) - [Recording](revue-features/recording.md) - [Compositing](revue-features/compositing.md) ## Guides (繁體中文) - [RevueSDK documentation](zh-TW/index.md): RevueSDK adds peer-to-peer voice, video and screen sharing to your app. These guides explain the concepts and walk you through each feature. - [Quickstart](zh-TW/getting-started/quickstart.md) - [搭配 AI 使用 RevueSDK](zh-TW/getting-started/ai-tools.md): 把 RevueSDK 文件交給你的 AI 程式助理,讓它照真正的 API 寫程式。 - [Initialization and configuration](zh-TW/connecting/initialization.md): `Revue.shared` is the entry point of the SDK. Before you can add friends, invite them or publish tracks, start the SDK with `initialize(_:)`. When you are do… - [Connection](zh-TW/connecting/connection.md): RevueSDK has no server to connect to. Devices find each other on a peer-to-peer network, and a call starts when a friend accepts your invitation. Getting the… - [Disconnection](zh-TW/connecting/disconnection.md): A call with one participant ends when either side hangs up or the connection to them fails. Both sides then receive `participantDidDisconnect`. The room itse… - [Connection state](zh-TW/connecting/connection-state.md): Three different states answer three different questions: - [Room](zh-TW/core/room.md): `Room` holds everyone you are in a call with: you, and every friend you are connected to. Get the room from `Room.shared`; you cannot create a `Room` yoursel… - [Events](zh-TW/core/events.md): RevueSDK reports what happens through three delegate protocols. Each one has an empty default for every method, so implement only the events you need. - [Errors](zh-TW/core/errors.md): Methods that publish tracks or change a published track throw `RoomError`. These are the cases they throw: - [Logging and debugging](zh-TW/core/logging.md): The SDK reports what it is doing through log entries. You decide where they go: print them, write them to a file, or attach them to a bug report. - [Participant](zh-TW/participants/participant.md): `Participant` holds what the local and the remote participants have in common. You never create one: the local user is `Room.localParticipant`, and everyone… - [LocalParticipant](zh-TW/participants/local-participant.md): `LocalParticipant` is the participant that represents this device in a `Room`. Get it from `Room.localParticipant` on `Room.shared`. You use it to publish yo… - [RemoteParticipant](zh-TW/participants/remote-participant.md): A `RemoteParticipant` is a friend who is in the call with you. Get one from `Room.remoteParticipants` on `Room.shared`, keyed by friend ID. - [Publishing tracks](zh-TW/participants/publishing.md): Publishing sends one of your tracks to one connected participant. There is no server in between, so every publish names its recipient with `to:`, and only th… - [Tracks](zh-TW/tracks/tracks.md): A `Track` is one stream of audio or video. Your camera, microphone and screen share are local tracks (`LocalVideoTrack` and `LocalAudioTrack`), and what a re… - [Track publications](zh-TW/tracks/publications.md): A `TrackPublication` is one participant's copy of a track. When you publish a track to a participant, you get a `LocalTrackPublication` for that participant,… - [Statistics](zh-TW/tracks/statistics.md): `Track.statistics` holds the latest `TrackStatistics` of a track: what the camera or microphone captures, what is sent or received, and how the connection to… - [Camera and capture options](zh-TW/media/capture-options.md): A capturer produces the frames or audio of a local track. Each local track has one, in `LocalVideoTrack.capturer` or `LocalAudioTrack.capturer`: - [Publish options and encoding](zh-TW/media/encoding.md): When you publish a track you can pass options that decide how it is encoded for that participant: the codec, the bitrate and the frame rate. Every publish go… - [Rendering video](zh-TW/media/rendering-video.md): `VideoView` shows a video track on screen: your own camera, a participant's video, a screen share or a track you fill with your own frames. It is a `UIView`,… - [Audio](zh-TW/media/audio.md) - [Screen sharing](zh-TW/media/screen-sharing.md) - [Encryption](zh-TW/media/encryption.md) - [Friends](zh-TW/revue-features/friends.md) - [Presence](zh-TW/revue-features/presence.md) - [Recording](zh-TW/revue-features/recording.md) - [Compositing](zh-TW/revue-features/compositing.md) ## Swift API reference - [AudioBufferCapturer](reference/swift/documentation/revuesdk/audiobuffercapturer/index.md): Audio Buffer 擷取器 — 讓 App 注入任意 PCM 音訊 - [AudioCapturer](reference/swift/documentation/revuesdk/audiocapturer/index.md): 音訊擷取器基礎協定 - [AudioCompositor](reference/swift/documentation/revuesdk/audiocompositor/index.md): 音訊混音器 — 將多路 AudioTrack 混音為一路輸出(獨立工具) - [AudioDevice.DeviceType](reference/swift/documentation/revuesdk/audiodevice/devicetype/index.md) - [AudioDevice](reference/swift/documentation/revuesdk/audiodevice/index.md): 音訊裝置資訊 - [AudioDuckingLevel](reference/swift/documentation/revuesdk/audioduckinglevel/index.md) - [AudioEncoding](reference/swift/documentation/revuesdk/audioencoding/index.md): 音訊編碼設定 - [AudioManager](reference/swift/documentation/revuesdk/audiomanager/index.md): 音訊管理器 — 裝置管理、說話偵測、音量監控 - [AudioPublishOptions](reference/swift/documentation/revuesdk/audiopublishoptions/index.md): 音訊發佈選項 — 設定音訊 Track 的編碼參數 - [AudioRenderer](reference/swift/documentation/revuesdk/audiorenderer/index.md): 音訊渲染器協定 — 接收 Float32 PCM 音訊 - [AudioTrack](reference/swift/documentation/revuesdk/audiotrack/index.md): 音訊 Track 中間類別 — 統一管理 AudioRenderer 分發 - [BroadcastManager](reference/swift/documentation/revuesdk/broadcastmanager/index.md): Manages the broadcast state and track publication for screen sharing on iOS. - [BroadcastManagerDelegate](reference/swift/documentation/revuesdk/broadcastmanagerdelegate/index.md): A delegate protocol for receiving updates about the broadcast state. - [BufferCapturer](reference/swift/documentation/revuesdk/buffercapturer/index.md): Buffer 擷取器 — 讓 App 注入任意 CVPixelBuffer 作為視訊來源 - [CameraCaptureOptions.Dimensions](reference/swift/documentation/revuesdk/cameracaptureoptions/dimensions-swift.struct/index.md): 相機採集解析度 - [CameraCaptureOptions](reference/swift/documentation/revuesdk/cameracaptureoptions/index.md): 相機擷取選項 - [CameraCapturer](reference/swift/documentation/revuesdk/cameracapturer/index.md): 相機擷取器 — 控制相機硬體 - [CameraCapturerError](reference/swift/documentation/revuesdk/cameracapturererror/index.md): 相機擷取器的錯誤 - [CaptureState](reference/swift/documentation/revuesdk/capturestate/index.md): 擷取器狀態 - [CodecStatistics](reference/swift/documentation/revuesdk/codecstatistics/index.md): 當前視訊編碼統計。 - [CompositeTemplate](reference/swift/documentation/revuesdk/compositetemplate/index.md): 合成模板 — 定義多路 VideoTrack 的排版方式 - [ConnectionQuality](reference/swift/documentation/revuesdk/connectionquality/index.md): 參與者的連線品質(5 級) - [DegradationPreference](reference/swift/documentation/revuesdk/degradationpreference/index.md): 品質降級偏好 — 頻寬不足時優先降什麼 - [DisconnectReason](reference/swift/documentation/revuesdk/disconnectreason/index.md): 通話中對方斷線原因 - [DiskSpaceWarning](reference/swift/documentation/revuesdk/diskspacewarning/index.md): 磁碟空間警告事件 - [FrameCryptoError](reference/swift/documentation/revuesdk/framecryptoerror/index.md): Frame crypto 加解密逐幀錯誤(v0.14.0,C 層 `REVUEKIT_EVENT_FRAME_CRYPTO_ERROR` type 102)。 - [FrameDecryptCallback](reference/swift/documentation/revuesdk/framedecryptcallback/index.md): 解密單幀 callback。回 0=成功;非 0=失敗(drop 該幀 + 發 `FrameCryptoError` 事件)。 - [FrameEncryptCallback](reference/swift/documentation/revuesdk/frameencryptcallback/index.md): 加密單幀 callback。回 0=成功;非 0=失敗(drop 該幀 + 發 `FrameCryptoError` 事件)。 - [FrameGetMaxSizeCallback](reference/swift/documentation/revuesdk/framegetmaxsizecallback/index.md): 查詢密文上限 callback。對相同 (mediaType, plaintextSize, userData state) 須 deterministic, 回傳值必須 ≥ encrypt 實際寫出的大小(XOR/AES-CTR 回 plaintextSize;AES-GCM 回 plaintextSize+16)。 - [FrameMediaType](reference/swift/documentation/revuesdk/framemediatype/index.md): Frame 媒體型別 - [FriendAddError](reference/swift/documentation/revuesdk/friendadderror/index.md): 加好友錯誤 - [FriendCallError](reference/swift/documentation/revuesdk/friendcallerror/index.md): 撥號 / 接聽 / 拒接 / 取消邀請的錯誤(`FriendManager` 撥號四方法 throw) - [FriendConnectionPaths](reference/swift/documentation/revuesdk/friendconnectionpaths/index.md): 好友連線路徑(封裝 C 層 RevueKitFriendPathBitmap) - [FriendDeleteError](reference/swift/documentation/revuesdk/frienddeleteerror/index.md): 刪除好友錯誤 - [FriendManager](reference/swift/documentation/revuesdk/friendmanager/index.md): 好友管理器 - [FriendMessageError](reference/swift/documentation/revuesdk/friendmessageerror/index.md): 發送訊息錯誤 - [H264Encoding](reference/swift/documentation/revuesdk/h264encoding/index.md): H.264 編碼參數 - [IceCandidatePairStatistics](reference/swift/documentation/revuesdk/icecandidatepairstatistics/index.md): 與此對象累計收到位元組。連線顯示已連但 bytesReceived 不動 = 假連線。 來源:trafficStatsGetFriendRecord 累計值。即時速率 =(本次−上次)×8 / 取樣秒數 / 1000。 - `let bytesSent: UInt64` - [InboundStatistics](reference/swift/documentation/revuesdk/inboundstatistics/index.md): 收端統計(視訊 + 音訊)。 - [RevueSDK](reference/swift/documentation/revuesdk/index.md): RevueSDK - [InvitationEndReason](reference/swift/documentation/revuesdk/invitationendreason/index.md): 邀請結束原因 - [LocalAudioTrack](reference/swift/documentation/revuesdk/localaudiotrack/index.md): 本地音訊 Track — 麥克風或自訂音訊輸入 - [LocalParticipant](reference/swift/documentation/revuesdk/localparticipant/index.md): 本地參與者(自己)— 發佈 Track、控制相機/麥克風/螢幕分享 - [LocalTrackPublication](reference/swift/documentation/revuesdk/localtrackpublication/index.md): 本地 Track 發佈狀態 - [LocalVideoTrack](reference/swift/documentation/revuesdk/localvideotrack/index.md): 本地視訊 Track — 相機、螢幕分享、或外部影像輸入 - [MicrophoneCapturer](reference/swift/documentation/revuesdk/microphonecapturer/index.md): 麥克風擷取器 — 對外介面(薄殼,conform `AudioCapturer` protocol) - [MulticastDelegate](reference/swift/documentation/revuesdk/multicastdelegate/index.md): 多播代理容器 — 支援多個物件同時監聽事件 - [OutboundStatistics](reference/swift/documentation/revuesdk/outboundstatistics/index.md): 發端送出統計。 - [Participant](reference/swift/documentation/revuesdk/participant/index.md): 參與者基礎類別 — LocalParticipant 和 RemoteParticipant 的共用屬性 - [ParticipantDelegate](reference/swift/documentation/revuesdk/participantdelegate/index.md): 參與者事件代理 — 細粒度訂閱單一 Participant 的事件 - [PresenceConnectionState](reference/swift/documentation/revuesdk/presenceconnectionstate/index.md): 自身 Presence 服務(MQTT broker)連線狀態 - [PresenceManager](reference/swift/documentation/revuesdk/presencemanager/index.md): Presence 管理器 - [PresenceStatus](reference/swift/documentation/revuesdk/presencestatus/index.md): 好友 Presence 狀態(對應 C 層 `RevueKitPresenceStatus`) - [RcMode](reference/swift/documentation/revuesdk/rcmode/index.md): VP8 Rate Control 模式 - [RecorderState](reference/swift/documentation/revuesdk/recorderstate/index.md): 錄影器狀態 - [RecordingError](reference/swift/documentation/revuesdk/recordingerror/index.md) - [RecordingFileInfo](reference/swift/documentation/revuesdk/recordingfileinfo/index.md): 錄影檔案資訊 - [RemoteAudioTrack](reference/swift/documentation/revuesdk/remoteaudiotrack/index.md): 遠端音訊 Track — 其他參與者的麥克風聲音 - [RemoteParticipant](reference/swift/documentation/revuesdk/remoteparticipant/index.md): 遠端參與者(其他人)— 可訂閱其 Track、控制連線狀態 - [RemoteTrackPublication](reference/swift/documentation/revuesdk/remotetrackpublication/index.md): 遠端 Track 發佈狀態 - [RemoteVideoTrack](reference/swift/documentation/revuesdk/remotevideotrack/index.md): 遠端視訊 Track — 其他參與者的相機或螢幕分享畫面 - [Revue.BootstrapNode](reference/swift/documentation/revuesdk/revue/bootstrapnode/index.md): Bootstrap 節點 - [Revue.Configuration](reference/swift/documentation/revuesdk/revue/configuration/index.md): SDK 初始化設定 - [Revue.DestroyOptions](reference/swift/documentation/revuesdk/revue/destroyoptions/index.md): `destroy(_:)` 的選項:關閉 SDK 時一併刪除哪些 SDK 寫到硬碟的資料 - [Revue](reference/swift/documentation/revuesdk/revue/index.md): 朋友層 singleton — SDK 入口點,管理好友關係、事件輪詢、delegate 推送 - [Revue.MqttOptions](reference/swift/documentation/revuesdk/revue/mqttoptions/index.md): MQTT / presence connection settings (mirrors core `RevueKitMqttOptions`; same shape as Android `MqttOptions`). - [Revue.NetworkOptions](reference/swift/documentation/revuesdk/revue/networkoptions/index.md): 網路選項 - [RevueDelegate](reference/swift/documentation/revuesdk/revuedelegate/index.md): 朋友層事件代理 — 監聽好友連線、訊息、Presence 等事件 - [RevueInitError](reference/swift/documentation/revuesdk/revueiniterror/index.md): SDK 初始化錯誤(`Revue.initialize` throw) - [RevueLogEntry](reference/swift/documentation/revuesdk/revuelogentry/index.md): SDK log 條目(C 核心層 log 透過 callback 進來、Swift 端組成此型別推給訂閱者) - [RevueLogLevel](reference/swift/documentation/revuesdk/revueloglevel/index.md): log 級別(對應 C 層 `RevueKitLogLevel`,rawValue 直接對齊 Int32 ABI) - [RevuePresenceError](reference/swift/documentation/revuesdk/revuepresenceerror/index.md): Why `Revue.startPresence(_:)` failed. - [RevueSampleHandler](reference/swift/documentation/revuesdk/revuesamplehandler/index.md): Extension 端 base class — 開發者繼承後只需 override `enableLogging`(可選) - [Room](reference/swift/documentation/revuesdk/room/index.md): 會議室 — 管理參與者、Track 發佈/訂閱的核心物件(singleton) - [RoomDelegate](reference/swift/documentation/revuesdk/roomdelegate/index.md): 房間事件代理 — 監聽連線、通話、參與者、Track 等事件 - [RoomError](reference/swift/documentation/revuesdk/roomerror/index.md): SDK 錯誤類型 - [RoomMessageError](reference/swift/documentation/revuesdk/roommessageerror/index.md): Room 層訊息錯誤型別 - [ScreenShareCaptureOptions](reference/swift/documentation/revuesdk/screensharecaptureoptions/index.md): 螢幕分享擷取選項 - [ScreenShareError](reference/swift/documentation/revuesdk/screenshareerror/index.md): 螢幕分享錯誤型別 - [SecurityManager](reference/swift/documentation/revuesdk/securitymanager/index.md): 安全管理器 - [SelfConnectionStatus](reference/swift/documentation/revuesdk/selfconnectionstatus/index.md): 自身與 DHT 網路的連線狀態(對應 C 層 `RevueKitConnectionStatus`) - [Track](reference/swift/documentation/revuesdk/track/index.md): Track 基礎類別 — 一路獨立的媒體串流 - [Track.Kind](reference/swift/documentation/revuesdk/track/kind-swift.enum/index.md): Track 種類 - [Track.Source](reference/swift/documentation/revuesdk/track/source-swift.enum/index.md): Track 來源 - [Track.TrackState](reference/swift/documentation/revuesdk/track/trackstate-swift.enum/index.md): Track 狀態 - [TrackDelegate](reference/swift/documentation/revuesdk/trackdelegate/index.md): 軌道事件代理 — 訂閱單一 `Track` 本身的事件 - [TrackPublication](reference/swift/documentation/revuesdk/trackpublication/index.md): Track 發佈狀態 — 包裝 Track 的發佈/訂閱資訊 - [TrackRecorder](reference/swift/documentation/revuesdk/trackrecorder/index.md): Track 錄影器 — 將單一 VideoTrack + 單一 AudioTrack 錄製為 fMP4 檔案 - [TrackStatistics](reference/swift/documentation/revuesdk/trackstatistics/index.md): 只保留「有料且對診斷有用」的桶(收斂記錄見 spec): - [UserStatus](reference/swift/documentation/revuesdk/userstatus/index.md): 使用者狀態(對應 C 層 `RevueKitUserStatus`) - [VideoCapturer](reference/swift/documentation/revuesdk/videocapturer/index.md): 視訊擷取器基底類別 - [VideoCapturerDelegate](reference/swift/documentation/revuesdk/videocapturerdelegate/index.md): 擷取器事件代理 — 訂閱解析度/狀態變更 - [VideoCodec](reference/swift/documentation/revuesdk/videocodec/index.md): 視訊編碼器(含對應 encoding 參數) - [VideoCodecType](reference/swift/documentation/revuesdk/videocodectype/index.md): 視訊編碼器類型(不帶 encoding 的 lightweight tag) - [VideoCompositor](reference/swift/documentation/revuesdk/videocompositor/index.md): 視訊合成器 — 將多路 VideoTrack 按模板合成為一路輸出(獨立工具) - [VideoContentMode](reference/swift/documentation/revuesdk/videocontentmode/index.md): 單一 Track 的內容縮放模式 - [VideoProcessor](reference/swift/documentation/revuesdk/videoprocessor/index.md): 視訊處理器協定 — 可選的視訊處理管線 - [VideoPublishOptions](reference/swift/documentation/revuesdk/videopublishoptions/index.md): 視訊發佈選項 — 設定視訊 Track 的編碼參數 - [VideoRenderer](reference/swift/documentation/revuesdk/videorenderer/index.md): 視訊渲染器協定 — VideoView 實作此協定接收畫面 - [VideoRotation](reference/swift/documentation/revuesdk/videorotation/index.md) - [VideoSourceStatistics](reference/swift/documentation/revuesdk/videosourcestatistics/index.md): 發送側來源畫面統計(編碼前)。 - [VideoTrack](reference/swift/documentation/revuesdk/videotrack/index.md): 視訊 Track 中間類別 — 統一管理 VideoRenderer 分發 - [VideoTrackPositionInfo](reference/swift/documentation/revuesdk/videotrackpositioninfo/index.md): 單一 Track 的位置資訊 - [VideoView.AdaptiveStreamPixelDensity](reference/swift/documentation/revuesdk/videoview/adaptivestreampixeldensity-swift.enum/index.md): 把 view 的邏輯尺寸(point)換算成實體像素,避免 retina 螢幕上要到過小的畫質層。 - [VideoView](reference/swift/documentation/revuesdk/videoview/index.md): 視訊顯示元件 — UIView 容器,支援 Metal / SampleBuffer 雙模式渲染 - [VideoView.LayoutMode](reference/swift/documentation/revuesdk/videoview/layoutmode-swift.enum/index.md): 佈局模式 - [VideoView.MirrorMode](reference/swift/documentation/revuesdk/videoview/mirrormode-swift.enum/index.md): 鏡像模式 - [VideoView.PinchToZoomOptions](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/index.md): 調整的是**相機硬體變焦**(`AVCaptureDevice.videoZoomFactor`),非畫面 transform 放大 —— 故僅對本地相機 track(`LocalVideoTrack` + `CameraCapturer`)有效。 - [VideoView.RenderMode](reference/swift/documentation/revuesdk/videoview/rendermode-swift.enum/index.md): 渲染模式 - [VideoViewDelegate](reference/swift/documentation/revuesdk/videoviewdelegate/index.md): 視訊顯示元件事件代理 — 訂閱單一 `VideoView` 的渲染狀態變化 - [Vp8Encoding](reference/swift/documentation/revuesdk/vp8encoding/index.md): VP8 編碼參數 ## Optional - [capture(_:)](reference/swift/documentation/revuesdk/audiobuffercapturer/capture%28_:%29/index.md): 注入一幀音訊(AVAudioPCMBuffer) - [captureState](reference/swift/documentation/revuesdk/audiobuffercapturer/capturestate/index.md) - [startCapture()](reference/swift/documentation/revuesdk/audiobuffercapturer/startcapture%28%29/index.md) - [stopCapture()](reference/swift/documentation/revuesdk/audiobuffercapturer/stopcapture%28%29/index.md) - [captureState](reference/swift/documentation/revuesdk/audiocapturer/capturestate/index.md): 擷取器狀態 - [startCapture()](reference/swift/documentation/revuesdk/audiocapturer/startcapture%28%29/index.md): 啟動擷取 - [stopCapture()](reference/swift/documentation/revuesdk/audiocapturer/stopcapture%28%29/index.md): 停止擷取 - [addTrack(_:)](reference/swift/documentation/revuesdk/audiocompositor/addtrack%28_:%29/index.md): 加入音訊 Track 到混音 - [autoOutputSilentBuffer](reference/swift/documentation/revuesdk/audiocompositor/autooutputsilentbuffer/index.md): 啟動無聲音頻輸出(在沒有任何輸入時也補幀輸出),預設 false - [init()](reference/swift/documentation/revuesdk/audiocompositor/init%28%29/index.md) - [isRunning](reference/swift/documentation/revuesdk/audiocompositor/isrunning/index.md): 混音器是否運行中(唯讀) - [localPlaybackEnabled](reference/swift/documentation/revuesdk/audiocompositor/localplaybackenabled/index.md): 是否將混音結果送到本地喇叭播放(測試/監聽用,預設 false) - [objectWillChange](reference/swift/documentation/revuesdk/audiocompositor/objectwillchange/index.md) - [ObservableObject Implementations](reference/swift/documentation/revuesdk/audiocompositor/observableobject-implementations/index.md) - [onMixerOutput](reference/swift/documentation/revuesdk/audiocompositor/onmixeroutput/index.md): mixer output 診斷 callback(可選,供 UI 顯示混音器輸出狀態) - [outputTrack](reference/swift/documentation/revuesdk/audiocompositor/outputtrack/index.md): 混音輸出 Track(用於本地播放或發布) - [removeTrack(_:)](reference/swift/documentation/revuesdk/audiocompositor/removetrack%28_:%29/index.md): 從混音中移除音訊 Track - [start()](reference/swift/documentation/revuesdk/audiocompositor/start%28%29/index.md): 啟動混音器 - [stop()](reference/swift/documentation/revuesdk/audiocompositor/stop%28%29/index.md): 停止混音器,釋放所有資源 - [tracks](reference/swift/documentation/revuesdk/audiocompositor/tracks/index.md): 當前所有輸入 Track(唯讀) - [!=(_:_:)](reference/swift/documentation/revuesdk/audiodevice/devicetype/!=%28_:_:%29/index.md) - [AudioDevice.DeviceType.bluetooth](reference/swift/documentation/revuesdk/audiodevice/devicetype/bluetooth/index.md) - [AudioDevice.DeviceType.builtInMicrophone](reference/swift/documentation/revuesdk/audiodevice/devicetype/builtinmicrophone/index.md) - [AudioDevice.DeviceType.builtInReceiver](reference/swift/documentation/revuesdk/audiodevice/devicetype/builtinreceiver/index.md) - [AudioDevice.DeviceType.builtInSpeaker](reference/swift/documentation/revuesdk/audiodevice/devicetype/builtinspeaker/index.md) - [Equatable Implementations](reference/swift/documentation/revuesdk/audiodevice/devicetype/equatable-implementations/index.md) - [hash(into:)](reference/swift/documentation/revuesdk/audiodevice/devicetype/hash%28into:%29/index.md) - [hashValue](reference/swift/documentation/revuesdk/audiodevice/devicetype/hashvalue/index.md) - [init(rawValue:)](reference/swift/documentation/revuesdk/audiodevice/devicetype/init%28rawvalue:%29/index.md) - [makeFromRawAttachmentValue(_:)](reference/swift/documentation/revuesdk/audiodevice/devicetype/makefromrawattachmentvalue%28_:%29/index.md) - [rawAttachmentValueRepresentation](reference/swift/documentation/revuesdk/audiodevice/devicetype/rawattachmentvaluerepresentation/index.md) - [RawRepresentable Implementations](reference/swift/documentation/revuesdk/audiodevice/devicetype/rawrepresentable-implementations/index.md) - [AudioDevice.DeviceType.unknown](reference/swift/documentation/revuesdk/audiodevice/devicetype/unknown/index.md) - [AudioDevice.DeviceType.wiredHeadset](reference/swift/documentation/revuesdk/audiodevice/devicetype/wiredheadset/index.md) - [id](reference/swift/documentation/revuesdk/audiodevice/id/index.md) - [init(id:name:type:)](reference/swift/documentation/revuesdk/audiodevice/init%28id:name:type:%29/index.md) - [name](reference/swift/documentation/revuesdk/audiodevice/name/index.md) - [type](reference/swift/documentation/revuesdk/audiodevice/type/index.md) - [!=(_:_:)](reference/swift/documentation/revuesdk/audioduckinglevel/!=%28_:_:%29/index.md) - [AudioDuckingLevel.default](reference/swift/documentation/revuesdk/audioduckinglevel/default/index.md) - [Equatable Implementations](reference/swift/documentation/revuesdk/audioduckinglevel/equatable-implementations/index.md) - [hash(into:)](reference/swift/documentation/revuesdk/audioduckinglevel/hash%28into:%29/index.md) - [hashValue](reference/swift/documentation/revuesdk/audioduckinglevel/hashvalue/index.md) - [init(rawValue:)](reference/swift/documentation/revuesdk/audioduckinglevel/init%28rawvalue:%29/index.md) - [makeFromRawAttachmentValue(_:)](reference/swift/documentation/revuesdk/audioduckinglevel/makefromrawattachmentvalue%28_:%29/index.md) - [AudioDuckingLevel.max](reference/swift/documentation/revuesdk/audioduckinglevel/max/index.md) - [AudioDuckingLevel.mid](reference/swift/documentation/revuesdk/audioduckinglevel/mid/index.md) - [AudioDuckingLevel.min](reference/swift/documentation/revuesdk/audioduckinglevel/min/index.md) - [rawAttachmentValueRepresentation](reference/swift/documentation/revuesdk/audioduckinglevel/rawattachmentvaluerepresentation/index.md) - [RawRepresentable Implementations](reference/swift/documentation/revuesdk/audioduckinglevel/rawrepresentable-implementations/index.md) - [init(maxBitrate:)](reference/swift/documentation/revuesdk/audioencoding/init%28maxbitrate:%29/index.md) - [maxBitrate](reference/swift/documentation/revuesdk/audioencoding/maxbitrate/index.md): 最大位元率 (bps) - [presetMusic](reference/swift/documentation/revuesdk/audioencoding/presetmusic/index.md) - [presetMusicHighQuality](reference/swift/documentation/revuesdk/audioencoding/presetmusichighquality/index.md) - [presetSpeech](reference/swift/documentation/revuesdk/audioencoding/presetspeech/index.md) - [inputDevice](reference/swift/documentation/revuesdk/audiomanager/inputdevice/index.md): 當前輸入裝置(麥克風) - [inputDevices](reference/swift/documentation/revuesdk/audiomanager/inputdevices/index.md): 所有可用輸入裝置 - [isMicrophoneMuted](reference/swift/documentation/revuesdk/audiomanager/ismicrophonemuted/index.md) - [isOtherAudioPlaying](reference/swift/documentation/revuesdk/audiomanager/isotheraudioplaying/index.md): 是否有其他 App 正在播放音訊 - [isSpeakerOutputPreferred](reference/swift/documentation/revuesdk/audiomanager/isspeakeroutputpreferred/index.md): 是否偏好揚聲器輸出(`false` = 內建聽筒) - [localAudioFrameCount](reference/swift/documentation/revuesdk/audiomanager/localaudioframecount/index.md): 本機已發送的 PCM frame 數量 - [onDeviceUpdate](reference/swift/documentation/revuesdk/audiomanager/ondeviceupdate/index.md): 音訊設備變更回調(插入/拔出耳機等) - [onInterruptionBegan](reference/swift/documentation/revuesdk/audiomanager/oninterruptionbegan/index.md): 音訊中斷開始回調(電話來電、鬧鐘等) - [onInterruptionEnded](reference/swift/documentation/revuesdk/audiomanager/oninterruptionended/index.md): 音訊中斷結束回調 - [onMutedSpeechActivity](reference/swift/documentation/revuesdk/audiomanager/onmutedspeechactivity/index.md): 偵測使用者被靜音時在說話 - [onOtherAudioPlayingChange](reference/swift/documentation/revuesdk/audiomanager/onotheraudioplayingchange/index.md): 其他 App 的主音訊開始/結束播放時回調(帶當下的 [isOtherAudioPlaying])。 - [outputDevice](reference/swift/documentation/revuesdk/audiomanager/outputdevice/index.md): 當前輸出裝置(揚聲器/耳機) - [outputDevices](reference/swift/documentation/revuesdk/audiomanager/outputdevices/index.md): 所有可用輸出裝置 - [remoteAudioFrameCount](reference/swift/documentation/revuesdk/audiomanager/remoteaudioframecount/index.md): 收到遠端的 PCM frame 數量 - [shared](reference/swift/documentation/revuesdk/audiomanager/shared/index.md): Singleton - [standardChannelCount](reference/swift/documentation/revuesdk/audiomanager/standardchannelcount/index.md): SDK 標準聲道數(1 = mono) - [standardFormat](reference/swift/documentation/revuesdk/audiomanager/standardformat/index.md): SDK 標準音訊格式(Float32, 24000Hz, 1ch mono) - [standardSampleRate](reference/swift/documentation/revuesdk/audiomanager/standardsamplerate/index.md): SDK 標準音訊取樣率(24000 Hz) - [encoding](reference/swift/documentation/revuesdk/audiopublishoptions/encoding/index.md): 音訊編碼設定 - [init(encoding:)](reference/swift/documentation/revuesdk/audiopublishoptions/init%28encoding:%29/index.md) - [render(pcmBuffer:)](reference/swift/documentation/revuesdk/audiorenderer/render%28pcmbuffer:%29/index.md) - [add(audioRenderer:)](reference/swift/documentation/revuesdk/audiotrack/add%28audiorenderer:%29/index.md) - [remove(audioRenderer:)](reference/swift/documentation/revuesdk/audiotrack/remove%28audiorenderer:%29/index.md) - [delegate](reference/swift/documentation/revuesdk/broadcastmanager/delegate/index.md) - [isBroadcasting](reference/swift/documentation/revuesdk/broadcastmanager/isbroadcasting/index.md) - [isBroadcastingPublisher](reference/swift/documentation/revuesdk/broadcastmanager/isbroadcastingpublisher/index.md) - [requestActivation()](reference/swift/documentation/revuesdk/broadcastmanager/requestactivation%28%29/index.md): Displays the system broadcast picker, allowing the user to start the broadcast. - [requestStop()](reference/swift/documentation/revuesdk/broadcastmanager/requeststop%28%29/index.md): Requests to stop the broadcast. - [shared](reference/swift/documentation/revuesdk/broadcastmanager/shared/index.md) - [shouldPublishTrack](reference/swift/documentation/revuesdk/broadcastmanager/shouldpublishtrack/index.md) - [broadcastManager(didChangeState:)](reference/swift/documentation/revuesdk/broadcastmanagerdelegate/broadcastmanager%28didchangestate:%29/index.md): Invoked when the broadcast state changes. - [capture(_:)](reference/swift/documentation/revuesdk/buffercapturer/capture%28_:%29/index.md): 注入一幀視訊 - [capture(_:timeStampNs:rotation:)](reference/swift/documentation/revuesdk/buffercapturer/capture%28_:timestampns:rotation:%29/index.md): 注入一幀視訊(帶時間戳和旋轉) - [startCapture()](reference/swift/documentation/revuesdk/buffercapturer/startcapture%28%29/index.md) - [stopCapture()](reference/swift/documentation/revuesdk/buffercapturer/stopcapture%28%29/index.md) - [autoCorrectOrientation](reference/swift/documentation/revuesdk/cameracaptureoptions/autocorrectorientation/index.md): 是否自動校正採集方向(預設 `true`) - [copyWith(dimensions:fps:position:device:autoCorrectOrientation:isMirrored:)](reference/swift/documentation/revuesdk/cameracaptureoptions/copywith%28dimensions:fps:position:device:autocorrectorientation:ismirrored:%29/index.md): 複製並覆蓋部分選項 - [device](reference/swift/documentation/revuesdk/cameracaptureoptions/device/index.md): 明確指定某一顆相機(可選) - [dimensions](reference/swift/documentation/revuesdk/cameracaptureoptions/dimensions-swift.property/index.md): 相機採集解析度(預設 720p 16:9) - [!=(_:_:)](reference/swift/documentation/revuesdk/cameracaptureoptions/dimensions-swift.struct/!=%28_:_:%29/index.md) - [Equatable Implementations](reference/swift/documentation/revuesdk/cameracaptureoptions/dimensions-swift.struct/equatable-implementations/index.md) - [h1080_169](reference/swift/documentation/revuesdk/cameracaptureoptions/dimensions-swift.struct/h1080_169/index.md) - [h1080_43](reference/swift/documentation/revuesdk/cameracaptureoptions/dimensions-swift.struct/h1080_43/index.md) - [h120_43](reference/swift/documentation/revuesdk/cameracaptureoptions/dimensions-swift.struct/h120_43/index.md) - [h1440_169](reference/swift/documentation/revuesdk/cameracaptureoptions/dimensions-swift.struct/h1440_169/index.md) - [h1440_43](reference/swift/documentation/revuesdk/cameracaptureoptions/dimensions-swift.struct/h1440_43/index.md) - [h180_169](reference/swift/documentation/revuesdk/cameracaptureoptions/dimensions-swift.struct/h180_169/index.md) - [h180_43](reference/swift/documentation/revuesdk/cameracaptureoptions/dimensions-swift.struct/h180_43/index.md) - [h2160_169](reference/swift/documentation/revuesdk/cameracaptureoptions/dimensions-swift.struct/h2160_169/index.md) - [h216_169](reference/swift/documentation/revuesdk/cameracaptureoptions/dimensions-swift.struct/h216_169/index.md) - [h240_43](reference/swift/documentation/revuesdk/cameracaptureoptions/dimensions-swift.struct/h240_43/index.md) - [h360_169](reference/swift/documentation/revuesdk/cameracaptureoptions/dimensions-swift.struct/h360_169/index.md) - [h360_43](reference/swift/documentation/revuesdk/cameracaptureoptions/dimensions-swift.struct/h360_43/index.md) - [h480_43](reference/swift/documentation/revuesdk/cameracaptureoptions/dimensions-swift.struct/h480_43/index.md) - [h540_169](reference/swift/documentation/revuesdk/cameracaptureoptions/dimensions-swift.struct/h540_169/index.md) - [h540_43](reference/swift/documentation/revuesdk/cameracaptureoptions/dimensions-swift.struct/h540_43/index.md) - [h720_169](reference/swift/documentation/revuesdk/cameracaptureoptions/dimensions-swift.struct/h720_169/index.md) - [h720_43](reference/swift/documentation/revuesdk/cameracaptureoptions/dimensions-swift.struct/h720_43/index.md) - [h90_169](reference/swift/documentation/revuesdk/cameracaptureoptions/dimensions-swift.struct/h90_169/index.md) - [height](reference/swift/documentation/revuesdk/cameracaptureoptions/dimensions-swift.struct/height/index.md) - [init(width:height:)](reference/swift/documentation/revuesdk/cameracaptureoptions/dimensions-swift.struct/init%28width:height:%29/index.md) - [width](reference/swift/documentation/revuesdk/cameracaptureoptions/dimensions-swift.struct/width/index.md) - [fps](reference/swift/documentation/revuesdk/cameracaptureoptions/fps/index.md): 相機採集幀率 — 每秒送出幾張畫面(預設 30) - [init(dimensions:fps:position:device:autoCorrectOrientation:isMirrored:)](reference/swift/documentation/revuesdk/cameracaptureoptions/init%28dimensions:fps:position:device:autocorrectorientation:ismirrored:%29/index.md) - [isMirrored](reference/swift/documentation/revuesdk/cameracaptureoptions/ismirrored/index.md): 是否鏡像採集(預設 `false`) - [position](reference/swift/documentation/revuesdk/cameracaptureoptions/position/index.md): 鏡頭位置偏好(預設 `.front`) - [canSwitchPosition()](reference/swift/documentation/revuesdk/cameracapturer/canswitchposition%28%29/index.md): 是否可以切換鏡頭位置 - [captureDevices()](reference/swift/documentation/revuesdk/cameracapturer/capturedevices%28%29/index.md): 列出所有可用相機裝置 - [captureSession](reference/swift/documentation/revuesdk/cameracapturer/capturesession/index.md): SDK 內部擷取用的 `AVCaptureSession`(唯讀轉發) - [device](reference/swift/documentation/revuesdk/cameracapturer/device/index.md): 使用中鏡頭:SDK 實際正在擷取的那一顆 - [options](reference/swift/documentation/revuesdk/cameracapturer/options/index.md): 當前擷取選項 - [position](reference/swift/documentation/revuesdk/cameracapturer/position/index.md): 當前鏡頭位置 - [restartCapture()](reference/swift/documentation/revuesdk/cameracapturer/restartcapture%28%29/index.md): 重啟擷取(選項變更後) - [set(cameraPosition:)](reference/swift/documentation/revuesdk/cameracapturer/set%28cameraposition:%29/index.md): 指定鏡頭位置 - [set(options:)](reference/swift/documentation/revuesdk/cameracapturer/set%28options:%29/index.md): 即時更新擷取選項(解析度、FPS、鏡頭) - [startCapture()](reference/swift/documentation/revuesdk/cameracapturer/startcapture%28%29/index.md): 啟動擷取 - [stopCapture()](reference/swift/documentation/revuesdk/cameracapturer/stopcapture%28%29/index.md): 停止擷取 - [switchCameraPosition()](reference/swift/documentation/revuesdk/cameracapturer/switchcameraposition%28%29/index.md): 切換前後鏡頭 - [!=(_:_:)](reference/swift/documentation/revuesdk/cameracapturererror/!=%28_:_:%29/index.md) - [CameraCapturerError.deviceNotAvailable](reference/swift/documentation/revuesdk/cameracapturererror/devicenotavailable/index.md): 要的方向沒有鏡頭(或鏡頭無法使用) - [Equatable Implementations](reference/swift/documentation/revuesdk/cameracapturererror/equatable-implementations/index.md) - [Error Implementations](reference/swift/documentation/revuesdk/cameracapturererror/error-implementations/index.md) - [errorDescription](reference/swift/documentation/revuesdk/cameracapturererror/errordescription/index.md) - [failureReason](reference/swift/documentation/revuesdk/cameracapturererror/failurereason/index.md) - [helpAnchor](reference/swift/documentation/revuesdk/cameracapturererror/helpanchor/index.md) - [localizedDescription](reference/swift/documentation/revuesdk/cameracapturererror/localizeddescription/index.md) - [LocalizedError Implementations](reference/swift/documentation/revuesdk/cameracapturererror/localizederror-implementations/index.md) - [recoverySuggestion](reference/swift/documentation/revuesdk/cameracapturererror/recoverysuggestion/index.md) - [!=(_:_:)](reference/swift/documentation/revuesdk/capturestate/!=%28_:_:%29/index.md) - [CaptureState.capturing](reference/swift/documentation/revuesdk/capturestate/capturing/index.md) - [Equatable Implementations](reference/swift/documentation/revuesdk/capturestate/equatable-implementations/index.md) - [CaptureState.error](reference/swift/documentation/revuesdk/capturestate/error/index.md) - [hash(into:)](reference/swift/documentation/revuesdk/capturestate/hash%28into:%29/index.md) - [hashValue](reference/swift/documentation/revuesdk/capturestate/hashvalue/index.md) - [CaptureState.idle](reference/swift/documentation/revuesdk/capturestate/idle/index.md) - [init(rawValue:)](reference/swift/documentation/revuesdk/capturestate/init%28rawvalue:%29/index.md) - [makeFromRawAttachmentValue(_:)](reference/swift/documentation/revuesdk/capturestate/makefromrawattachmentvalue%28_:%29/index.md) - [rawAttachmentValueRepresentation](reference/swift/documentation/revuesdk/capturestate/rawattachmentvaluerepresentation/index.md) - [RawRepresentable Implementations](reference/swift/documentation/revuesdk/capturestate/rawrepresentable-implementations/index.md) - [!=(_:_:)](reference/swift/documentation/revuesdk/codecstatistics/!=%28_:_:%29/index.md) - [Equatable Implementations](reference/swift/documentation/revuesdk/codecstatistics/equatable-implementations/index.md) - [mimeType](reference/swift/documentation/revuesdk/codecstatistics/mimetype/index.md): 當前實際視訊編碼(“video/VP8” / “video/H264”)。 診斷:確認 codec 切換是否生效——以為切 H264 卻顯示 VP8 = 切換漏生效。 來源:依「最近一幀走哪條 receive callback」判定——raw callback=VP8、encoded callback=H264。… - [init(trackPositions:)](reference/swift/documentation/revuesdk/compositetemplate/init%28trackpositions:%29/index.md) - [trackPositions](reference/swift/documentation/revuesdk/compositetemplate/trackpositions/index.md): Track 位置資訊陣列(按順序繪製,順序 = 圖層,後畫的蓋住先畫的) - [!=(_:_:)](reference/swift/documentation/revuesdk/connectionquality/!=%28_:_:%29/index.md) - [ConnectionQuality.bad](reference/swift/documentation/revuesdk/connectionquality/bad/index.md): 極差(score ≤ 25) - [Equatable Implementations](reference/swift/documentation/revuesdk/connectionquality/equatable-implementations/index.md) - [ConnectionQuality.excellent](reference/swift/documentation/revuesdk/connectionquality/excellent/index.md): 極佳(score > 85) - [ConnectionQuality.fair](reference/swift/documentation/revuesdk/connectionquality/fair/index.md): 普通(score 45–65) - [ConnectionQuality.good](reference/swift/documentation/revuesdk/connectionquality/good/index.md): 良好(score 65–85) - [hash(into:)](reference/swift/documentation/revuesdk/connectionquality/hash%28into:%29/index.md) - [hashValue](reference/swift/documentation/revuesdk/connectionquality/hashvalue/index.md) - [init(rawValue:)](reference/swift/documentation/revuesdk/connectionquality/init%28rawvalue:%29/index.md) - [makeFromRawAttachmentValue(_:)](reference/swift/documentation/revuesdk/connectionquality/makefromrawattachmentvalue%28_:%29/index.md) - [ConnectionQuality.poor](reference/swift/documentation/revuesdk/connectionquality/poor/index.md): 較差(score 25–45) - [rawAttachmentValueRepresentation](reference/swift/documentation/revuesdk/connectionquality/rawattachmentvaluerepresentation/index.md) - [RawRepresentable Implementations](reference/swift/documentation/revuesdk/connectionquality/rawrepresentable-implementations/index.md) - [ConnectionQuality.unknown](reference/swift/documentation/revuesdk/connectionquality/unknown/index.md): 未知(尚無統計資料) - [!=(_:_:)](reference/swift/documentation/revuesdk/degradationpreference/!=%28_:_:%29/index.md) - [DegradationPreference.balanced](reference/swift/documentation/revuesdk/degradationpreference/balanced/index.md): 平衡(同時降畫質和 FPS) - [DegradationPreference.disabled](reference/swift/documentation/revuesdk/degradationpreference/disabled/index.md): 不降級 - [Equatable Implementations](reference/swift/documentation/revuesdk/degradationpreference/equatable-implementations/index.md) - [hash(into:)](reference/swift/documentation/revuesdk/degradationpreference/hash%28into:%29/index.md) - [hashValue](reference/swift/documentation/revuesdk/degradationpreference/hashvalue/index.md) - [init(rawValue:)](reference/swift/documentation/revuesdk/degradationpreference/init%28rawvalue:%29/index.md) - [DegradationPreference.maintainFramerate](reference/swift/documentation/revuesdk/degradationpreference/maintainframerate/index.md): 維持流暢(優先降畫質) - [DegradationPreference.maintainResolution](reference/swift/documentation/revuesdk/degradationpreference/maintainresolution/index.md): 維持畫質(優先降 FPS) - [makeFromRawAttachmentValue(_:)](reference/swift/documentation/revuesdk/degradationpreference/makefromrawattachmentvalue%28_:%29/index.md) - [rawAttachmentValueRepresentation](reference/swift/documentation/revuesdk/degradationpreference/rawattachmentvaluerepresentation/index.md) - [RawRepresentable Implementations](reference/swift/documentation/revuesdk/degradationpreference/rawrepresentable-implementations/index.md) - [!=(_:_:)](reference/swift/documentation/revuesdk/disconnectreason/!=%28_:_:%29/index.md) - [Equatable Implementations](reference/swift/documentation/revuesdk/disconnectreason/equatable-implementations/index.md) - [DisconnectReason.leave](reference/swift/documentation/revuesdk/disconnectreason/leave/index.md): 對方主動離開(ToxAV finished 事件) - [DisconnectReason.networkLost](reference/swift/documentation/revuesdk/disconnectreason/networklost/index.md): 連線錯誤導致斷線(ToxAV error 事件,例如對方網路錯誤或本端重連寬限期到期) - [!=(_:_:)](reference/swift/documentation/revuesdk/diskspacewarning/!=%28_:_:%29/index.md) - [DiskSpaceWarning.criticalStopped(available:threshold:)](reference/swift/documentation/revuesdk/diskspacewarning/criticalstopped%28available:threshold:%29/index.md): 可用空間低於臨界閾值,錄影已自動停止 - [Equatable Implementations](reference/swift/documentation/revuesdk/diskspacewarning/equatable-implementations/index.md) - [DiskSpaceWarning.warning(available:threshold:)](reference/swift/documentation/revuesdk/diskspacewarning/warning%28available:threshold:%29/index.md): 可用空間低於警告閾值,但仍繼續錄影 - [!=(_:_:)](reference/swift/documentation/revuesdk/framecryptoerror/!=%28_:_:%29/index.md) - [FrameCryptoError.bufferOversize(mediaType:ssrc:)](reference/swift/documentation/revuesdk/framecryptoerror/bufferoversize%28mediatype:ssrc:%29/index.md): 加密寫出超過 `getMaxSize` 宣告上限(僅發生在加密方向、無 caller code) - [FrameCryptoError.decryptFailed(mediaType:ssrc:code:)](reference/swift/documentation/revuesdk/framecryptoerror/decryptfailed%28mediatype:ssrc:code:%29/index.md): 解密 callback 回非 0(`code` 為該回傳值) - [FrameCryptoError.encryptFailed(mediaType:ssrc:code:)](reference/swift/documentation/revuesdk/framecryptoerror/encryptfailed%28mediatype:ssrc:code:%29/index.md): 加密 callback 回非 0(`code` 為該回傳值) - [Equatable Implementations](reference/swift/documentation/revuesdk/framecryptoerror/equatable-implementations/index.md) - [Error Implementations](reference/swift/documentation/revuesdk/framecryptoerror/error-implementations/index.md) - [localizedDescription](reference/swift/documentation/revuesdk/framecryptoerror/localizeddescription/index.md) - [!=(_:_:)](reference/swift/documentation/revuesdk/framemediatype/!=%28_:_:%29/index.md) - [FrameMediaType.audio](reference/swift/documentation/revuesdk/framemediatype/audio/index.md) - [Equatable Implementations](reference/swift/documentation/revuesdk/framemediatype/equatable-implementations/index.md) - [hash(into:)](reference/swift/documentation/revuesdk/framemediatype/hash%28into:%29/index.md) - [hashValue](reference/swift/documentation/revuesdk/framemediatype/hashvalue/index.md) - [init(rawValue:)](reference/swift/documentation/revuesdk/framemediatype/init%28rawvalue:%29/index.md) - [makeFromRawAttachmentValue(_:)](reference/swift/documentation/revuesdk/framemediatype/makefromrawattachmentvalue%28_:%29/index.md) - [rawAttachmentValueRepresentation](reference/swift/documentation/revuesdk/framemediatype/rawattachmentvaluerepresentation/index.md) - [RawRepresentable Implementations](reference/swift/documentation/revuesdk/framemediatype/rawrepresentable-implementations/index.md) - [FrameMediaType.video](reference/swift/documentation/revuesdk/framemediatype/video/index.md) - [FriendAddError.alreadyExists](reference/swift/documentation/revuesdk/friendadderror/alreadyexists/index.md): 對方已在好友列表中 - [Error Implementations](reference/swift/documentation/revuesdk/friendadderror/error-implementations/index.md) - [errorDescription](reference/swift/documentation/revuesdk/friendadderror/errordescription/index.md) - [FriendAddError.failed(code:)](reference/swift/documentation/revuesdk/friendadderror/failed%28code:%29/index.md): C 層回傳失敗 - [failureReason](reference/swift/documentation/revuesdk/friendadderror/failurereason/index.md) - [helpAnchor](reference/swift/documentation/revuesdk/friendadderror/helpanchor/index.md) - [localizedDescription](reference/swift/documentation/revuesdk/friendadderror/localizeddescription/index.md) - [LocalizedError Implementations](reference/swift/documentation/revuesdk/friendadderror/localizederror-implementations/index.md) - [recoverySuggestion](reference/swift/documentation/revuesdk/friendadderror/recoverysuggestion/index.md) - [!=(_:_:)](reference/swift/documentation/revuesdk/friendcallerror/!=%28_:_:%29/index.md) - [FriendCallError.alreadyInCall](reference/swift/documentation/revuesdk/friendcallerror/alreadyincall/index.md): 對方已有一通進行中(或尚未清除)的通話(C -28) - [FriendCallError.callFailed](reference/swift/documentation/revuesdk/friendcallerror/callfailed/index.md): 通話失敗(C -11) - [Equatable Implementations](reference/swift/documentation/revuesdk/friendcallerror/equatable-implementations/index.md) - [Error Implementations](reference/swift/documentation/revuesdk/friendcallerror/error-implementations/index.md) - [errorDescription](reference/swift/documentation/revuesdk/friendcallerror/errordescription/index.md) - [failureReason](reference/swift/documentation/revuesdk/friendcallerror/failurereason/index.md) - [FriendCallError.friendNotReachable](reference/swift/documentation/revuesdk/friendcallerror/friendnotreachable/index.md): 對方目前無法連線(C -20)—— 無任何可用 path - [helpAnchor](reference/swift/documentation/revuesdk/friendcallerror/helpanchor/index.md) - [FriendCallError.invalidArgument](reference/swift/documentation/revuesdk/friendcallerror/invalidargument/index.md): 參數無效(C -2)—— 好友不存在,或 friend_id 格式錯誤(C 層已合併兩者) - [FriendCallError.invalidState](reference/swift/documentation/revuesdk/friendcallerror/invalidstate/index.md): 目前狀態不允許此操作(C -13) - [localizedDescription](reference/swift/documentation/revuesdk/friendcallerror/localizeddescription/index.md) - [LocalizedError Implementations](reference/swift/documentation/revuesdk/friendcallerror/localizederror-implementations/index.md) - [FriendCallError.messageTooLong](reference/swift/documentation/revuesdk/friendcallerror/messagetoolong/index.md): 撥號附帶訊息超過 256 bytes(C -30) - [FriendCallError.noDirectPath](reference/swift/documentation/revuesdk/friendcallerror/nodirectpath/index.md): Switch B 寬限期內尚無直連路徑(C -26) - [FriendCallError.notInitialized](reference/swift/documentation/revuesdk/friendcallerror/notinitialized/index.md): SDK / ToxAV 尚未初始化(C -4) - [recoverySuggestion](reference/swift/documentation/revuesdk/friendcallerror/recoverysuggestion/index.md) - [FriendCallError.unknown(code:)](reference/swift/documentation/revuesdk/friendcallerror/unknown%28code:%29/index.md): 未知錯誤,帶原始 C 碼供 debug(表外碼,含 `REVUEKIT_ERR_UNKNOWN` -99) - [!=(_:_:)](reference/swift/documentation/revuesdk/friendconnectionpaths/!=%28_:_:%29/index.md) - [contains(_:)](reference/swift/documentation/revuesdk/friendconnectionpaths/contains%28_:%29/index.md) - [Equatable Implementations](reference/swift/documentation/revuesdk/friendconnectionpaths/equatable-implementations/index.md) - [formIntersection(_:)](reference/swift/documentation/revuesdk/friendconnectionpaths/formintersection%28_:%29/index.md) - [formSymmetricDifference(_:)](reference/swift/documentation/revuesdk/friendconnectionpaths/formsymmetricdifference%28_:%29/index.md) - [formUnion(_:)](reference/swift/documentation/revuesdk/friendconnectionpaths/formunion%28_:%29/index.md) - [init()](reference/swift/documentation/revuesdk/friendconnectionpaths/init%28%29/index.md) - [init(_:)](reference/swift/documentation/revuesdk/friendconnectionpaths/init%28_:%29/index.md) - [init(arrayLiteral:)](reference/swift/documentation/revuesdk/friendconnectionpaths/init%28arrayliteral:%29/index.md) - [init(rawValue:)](reference/swift/documentation/revuesdk/friendconnectionpaths/init%28rawvalue:%29/index.md) - [insert(_:)](reference/swift/documentation/revuesdk/friendconnectionpaths/insert%28_:%29-7z69n/index.md) - [insert(_:)](reference/swift/documentation/revuesdk/friendconnectionpaths/insert%28_:%29-9xhwn/index.md) - [intersection(_:)](reference/swift/documentation/revuesdk/friendconnectionpaths/intersection%28_:%29/index.md) - [isDisjoint(with:)](reference/swift/documentation/revuesdk/friendconnectionpaths/isdisjoint%28with:%29/index.md) - [isEmpty](reference/swift/documentation/revuesdk/friendconnectionpaths/isempty/index.md) - [isOnline](reference/swift/documentation/revuesdk/friendconnectionpaths/isonline/index.md): 是否在線(至少一條路徑可用) - [isStrictSubset(of:)](reference/swift/documentation/revuesdk/friendconnectionpaths/isstrictsubset%28of:%29/index.md) - [isStrictSuperset(of:)](reference/swift/documentation/revuesdk/friendconnectionpaths/isstrictsuperset%28of:%29/index.md) - [isSubset(of:)](reference/swift/documentation/revuesdk/friendconnectionpaths/issubset%28of:%29/index.md) - [isSuperset(of:)](reference/swift/documentation/revuesdk/friendconnectionpaths/issuperset%28of:%29/index.md) - [makeFromRawAttachmentValue(_:)](reference/swift/documentation/revuesdk/friendconnectionpaths/makefromrawattachmentvalue%28_:%29/index.md) - [OptionSet Implementations](reference/swift/documentation/revuesdk/friendconnectionpaths/optionset-implementations/index.md) - [rawAttachmentValueRepresentation](reference/swift/documentation/revuesdk/friendconnectionpaths/rawattachmentvaluerepresentation/index.md) - [RawRepresentable Implementations](reference/swift/documentation/revuesdk/friendconnectionpaths/rawrepresentable-implementations/index.md) - [rawValue](reference/swift/documentation/revuesdk/friendconnectionpaths/rawvalue/index.md) - [remove(_:)](reference/swift/documentation/revuesdk/friendconnectionpaths/remove%28_:%29/index.md) - [SetAlgebra Implementations](reference/swift/documentation/revuesdk/friendconnectionpaths/setalgebra-implementations/index.md) - [subtract(_:)](reference/swift/documentation/revuesdk/friendconnectionpaths/subtract%28_:%29/index.md) - [subtracting(_:)](reference/swift/documentation/revuesdk/friendconnectionpaths/subtracting%28_:%29/index.md) - [symmetricDifference(_:)](reference/swift/documentation/revuesdk/friendconnectionpaths/symmetricdifference%28_:%29/index.md) - [tcpRelay](reference/swift/documentation/revuesdk/friendconnectionpaths/tcprelay/index.md): TCP 中繼 - [udpDirect](reference/swift/documentation/revuesdk/friendconnectionpaths/udpdirect/index.md): UDP 直連(最佳路徑) - [udpRelay](reference/swift/documentation/revuesdk/friendconnectionpaths/udprelay/index.md): UDP 中繼 - [union(_:)](reference/swift/documentation/revuesdk/friendconnectionpaths/union%28_:%29/index.md) - [update(with:)](reference/swift/documentation/revuesdk/friendconnectionpaths/update%28with:%29/index.md) - [Error Implementations](reference/swift/documentation/revuesdk/frienddeleteerror/error-implementations/index.md) - [errorDescription](reference/swift/documentation/revuesdk/frienddeleteerror/errordescription/index.md) - [FriendDeleteError.failed(code:)](reference/swift/documentation/revuesdk/frienddeleteerror/failed%28code:%29/index.md): C 層回傳失敗 - [failureReason](reference/swift/documentation/revuesdk/frienddeleteerror/failurereason/index.md) - [helpAnchor](reference/swift/documentation/revuesdk/frienddeleteerror/helpanchor/index.md) - [localizedDescription](reference/swift/documentation/revuesdk/frienddeleteerror/localizeddescription/index.md) - [LocalizedError Implementations](reference/swift/documentation/revuesdk/frienddeleteerror/localizederror-implementations/index.md) - [FriendDeleteError.notFound](reference/swift/documentation/revuesdk/frienddeleteerror/notfound/index.md): 好友不存在 - [recoverySuggestion](reference/swift/documentation/revuesdk/frienddeleteerror/recoverysuggestion/index.md) - [acceptInvitation(friendId:)](reference/swift/documentation/revuesdk/friendmanager/acceptinvitation%28friendid:%29/index.md): 接受對方邀請 - [addFriend(address:message:)](reference/swift/documentation/revuesdk/friendmanager/addfriend%28address:message:%29/index.md): 加好友。對方已在好友列表時 throws .alreadyExists - [addFriendNorequest(friendId:)](reference/swift/documentation/revuesdk/friendmanager/addfriendnorequest%28friendid:%29/index.md): 接受好友請求(不發送請求)。對方已在好友列表時 throws .alreadyExists - [cancelInvitation(friendId:)](reference/swift/documentation/revuesdk/friendmanager/cancelinvitation%28friendid:%29/index.md): 撥打方取消尚未接通的邀請 - [deleteFriend(friendId:)](reference/swift/documentation/revuesdk/friendmanager/deletefriend%28friendid:%29/index.md): 刪除好友。好友不存在時 throws .notFound - [getFriendList()](reference/swift/documentation/revuesdk/friendmanager/getfriendlist%28%29/index.md) - [getFriendName(friendId:)](reference/swift/documentation/revuesdk/friendmanager/getfriendname%28friendid:%29/index.md) - [getFriendPaths(friendId:)](reference/swift/documentation/revuesdk/friendmanager/getfriendpaths%28friendid:%29/index.md): 取得好友連線路徑(v0.13.0-rc1) - [getFriendPresenceStatus(friendId:)](reference/swift/documentation/revuesdk/friendmanager/getfriendpresencestatus%28friendid:%29/index.md): 取得好友的 MQTT presence 狀態,與 tox 連線路徑(`getFriendPaths`)互相獨立。 - [getFriendStatusMessage(friendId:)](reference/swift/documentation/revuesdk/friendmanager/getfriendstatusmessage%28friendid:%29/index.md) - [isFriendExists(friendId:)](reference/swift/documentation/revuesdk/friendmanager/isfriendexists%28friendid:%29/index.md): 檢查好友是否存在 - [rejectInvitation(friendId:)](reference/swift/documentation/revuesdk/friendmanager/rejectinvitation%28friendid:%29/index.md): 拒絕對方邀請 - [sendInvitation(friendId:message:)](reference/swift/documentation/revuesdk/friendmanager/sendinvitation%28friendid:message:%29/index.md): 送出通話邀請給朋友 - [sendMessage(friendId:message:timeout:)](reference/swift/documentation/revuesdk/friendmanager/sendmessage%28friendid:message:timeout:%29/index.md): 發送文字訊息給好友並等待送達確認。 - [!=(_:_:)](reference/swift/documentation/revuesdk/friendmessageerror/!=%28_:_:%29/index.md) - [Equatable Implementations](reference/swift/documentation/revuesdk/friendmessageerror/equatable-implementations/index.md) - [Error Implementations](reference/swift/documentation/revuesdk/friendmessageerror/error-implementations/index.md) - [errorDescription](reference/swift/documentation/revuesdk/friendmessageerror/errordescription/index.md) - [FriendMessageError.failed(code:)](reference/swift/documentation/revuesdk/friendmessageerror/failed%28code:%29/index.md): C 層回傳未對映的錯誤碼(含 `REVUEKIT_ERR_UNKNOWN`(-99)) - [failureReason](reference/swift/documentation/revuesdk/friendmessageerror/failurereason/index.md) - [FriendMessageError.friendNotReachable](reference/swift/documentation/revuesdk/friendmessageerror/friendnotreachable/index.md): 對方目前無法連線(C -20)—— 無任何可用 path - [helpAnchor](reference/swift/documentation/revuesdk/friendmessageerror/helpanchor/index.md) - [FriendMessageError.invalidArgument](reference/swift/documentation/revuesdk/friendmessageerror/invalidargument/index.md): 參數無效(C -1 / -2)—— 好友不存在、friend_id 格式錯誤,或訊息為空 - [localizedDescription](reference/swift/documentation/revuesdk/friendmessageerror/localizeddescription/index.md) - [LocalizedError Implementations](reference/swift/documentation/revuesdk/friendmessageerror/localizederror-implementations/index.md) - [FriendMessageError.messageTooLong](reference/swift/documentation/revuesdk/friendmessageerror/messagetoolong/index.md): 訊息超過長度上限(C -30) - [FriendMessageError.notInitialized](reference/swift/documentation/revuesdk/friendmessageerror/notinitialized/index.md): SDK 尚未初始化(C -4) - [recoverySuggestion](reference/swift/documentation/revuesdk/friendmessageerror/recoverysuggestion/index.md) - [FriendMessageError.sendQueueFull](reference/swift/documentation/revuesdk/friendmessageerror/sendqueuefull/index.md): 發送佇列已滿(C -34,revuekit-c 0.20.0 新增) - [FriendMessageError.timeout(messageId:)](reference/swift/documentation/revuesdk/friendmessageerror/timeout%28messageid:%29/index.md): async 版本等待 delivery_receipt 超過 timeout 秒數 messageId 為 toxcore 分配的流水號,可用於日誌追蹤 - [init(maxBitrate:)](reference/swift/documentation/revuesdk/h264encoding/init%28maxbitrate:%29/index.md) - [maxBitrate](reference/swift/documentation/revuesdk/h264encoding/maxbitrate/index.md): 目標位元率(bps,預設 3 Mbps) - [!=(_:_:)](reference/swift/documentation/revuesdk/icecandidatepairstatistics/!=%28_:_:%29/index.md) - [bytesReceived](reference/swift/documentation/revuesdk/icecandidatepairstatistics/bytesreceived/index.md): 與此對象累計收到位元組。連線顯示已連但 bytesReceived 不動 = 假連線。 來源:trafficStatsGetFriendRecord 累計值。即時速率 =(本次−上次)×8 / 取樣秒數 / 1000。 - [bytesSent](reference/swift/documentation/revuesdk/icecandidatepairstatistics/bytessent/index.md): 與此對象累計送出位元組。連線顯示已連但不動 = 假連線。 來源:trafficStatsGetFriendRecord 累計值。即時速率 =(本次−上次)×8 / 取樣秒數 / 1000。 - [connectionType](reference/swift/documentation/revuesdk/icecandidatepairstatistics/connectiontype/index.md): 目前連線路徑類型:`0` = 無連線、`1` = TCP 中繼、`2` = UDP 中繼、`3` = UDP 直連。 - [downloadBitrateKbps](reference/swift/documentation/revuesdk/icecandidatepairstatistics/downloadbitratekbps/index.md): 下行可用碼率(kbps)。決定收到畫面清晰度;低 = 頻寬不足被降質。 來源:getNetworkQualityStats(C 提供)。 - [Equatable Implementations](reference/swift/documentation/revuesdk/icecandidatepairstatistics/equatable-implementations/index.md) - [isReliable](reference/swift/documentation/revuesdk/icecandidatepairstatistics/isreliable/index.md): 統計數據是否可信(v0.16.0 新增,衍生屬性、非 C 層提供)。 - [jitterMs](reference/swift/documentation/revuesdk/icecandidatepairstatistics/jitterms/index.md): 抖動(毫秒)。延遲的不穩定幅度;大 = 網路不穩、卡頓元兇之一。 來源:getNetworkQualityStats(C 提供)。 - [packetLossRate](reference/swift/documentation/revuesdk/icecandidatepairstatistics/packetlossrate/index.md): 丟包率(%)。最直接的連線劣化指標;高 = 破圖/斷續。 來源:getNetworkQualityStats(C 提供)。 - [packetsReceived](reference/swift/documentation/revuesdk/icecandidatepairstatistics/packetsreceived/index.md): 與此對象累計收到封包數。 來源:trafficStatsGetFriendRecord 累計值。 - [packetsSent](reference/swift/documentation/revuesdk/icecandidatepairstatistics/packetssent/index.md): 與此對象累計送出封包數。配合丟包率看:送出漲但對方收到漲慢 = 大量封包遺失。 來源:trafficStatsGetFriendRecord 累計值。 - [remoteSuggestedBitrateKbps](reference/swift/documentation/revuesdk/icecandidatepairstatistics/remotesuggestedbitratekbps/index.md): 對端建議碼率(kbps)。對方回報它能承受的碼率;持續偏低 = 對方網路差(非我方)。 來源:getNetworkQualityStats(C 提供)。 - [rttMs](reference/swift/documentation/revuesdk/icecandidatepairstatistics/rttms/index.md): 往返延遲(毫秒)。反映連線延遲;<50 佳、100 普通、300+ 明顯卡頓。 - [uploadBitrateKbps](reference/swift/documentation/revuesdk/icecandidatepairstatistics/uploadbitratekbps/index.md): 上行可用碼率(kbps)。決定送出畫面清晰度;低 = 頻寬不足被降質。 來源:getNetworkQualityStats(C 提供)。 - [!=(_:_:)](reference/swift/documentation/revuesdk/inboundstatistics/!=%28_:_:%29/index.md) - [audioFrameRate](reference/swift/documentation/revuesdk/inboundstatistics/audioframerate/index.md): 每秒收到的音訊段數(音訊版「fps」)。穩定 = 音訊流順;掉低/歸零 = 音訊丟/斷。視訊軌道為 `nil`。 來源:SDK 收端數 audio callback 次數 / 秒(自算;音訊無「幀」概念,數「段」)。 - [audioLevel](reference/swift/documentation/revuesdk/inboundstatistics/audiolevel/index.md): 收端音量。反映對方是否在出聲;與視訊配合分辨「音視訊都停=斷線 / 只視訊停=攝影機問題」。視訊軌道為 `nil`。 來源:SDK 收端 PCM 算 RMS(自算)。 - [Equatable Implementations](reference/swift/documentation/revuesdk/inboundstatistics/equatable-implementations/index.md) - [fps](reference/swift/documentation/revuesdk/inboundstatistics/fps/index.md): 收端實測幀率。掉低 = 對方送不順/連線不穩。音訊軌道為 `nil`。 來源:SDK 收端數幀 / 秒(自算)。 - [framesReceived](reference/swift/documentation/revuesdk/inboundstatistics/framesreceived/index.md): 收到幀數(含 16×16 mute 哨兵)。反映「連線層有沒有在收東西」。 來源:VP8 在 handleVideoRawDataReceived 函式入口計數(哨兵判定在 L272、故入口計數天然含哨兵); ⚠️ H264 的哨兵判定在**解碼後 sink**(handleVideoEncodedDataRec… - [framesRendered](reference/swift/documentation/revuesdk/inboundstatistics/framesrendered/index.md): 真正送到繪圖的幀數(不含哨兵——哨兵已被 SDK mute 邏輯攔在繪圖前)。 診斷:framesReceived 續增但 framesRendered 停 = 對方 mute;兩者皆停 = 斷線。 來源:track.handleReceived(pixelBuffer:) 入口計數(RemoteParticip… - [freezeCount](reference/swift/documentation/revuesdk/inboundstatistics/freezecount/index.md): 凍結次數。畫面卡住不動的量化;抓「一頓一頓」比 fps 平均值更直接。 來源:SDK 自算——相鄰幀間隔 > 1 秒(凍結門檻)時 freezeCount++。 - [height](reference/swift/documentation/revuesdk/inboundstatistics/height/index.md) - [totalFreezesDuration](reference/swift/documentation/revuesdk/inboundstatistics/totalfreezesduration/index.md): 總凍結時長(秒)。 來源:SDK 自算——凍結門檻超出時累計間隔進 duration。 - [width](reference/swift/documentation/revuesdk/inboundstatistics/width/index.md): 收端解出的畫面寬/高。突變 16×16 = 對方 mute 哨兵;歸零/跳變 = 解碼流中斷。 音訊軌道為 `nil`;視訊軌道在第一幀解出前也是 `nil`。 來源:複用 Track.dimensions(收端 RemoteVideoTrack 已在更新)。 - [!=(_:_:)](reference/swift/documentation/revuesdk/invitationendreason/!=%28_:_:%29/index.md) - [InvitationEndReason.cancelled](reference/swift/documentation/revuesdk/invitationendreason/cancelled/index.md): 撥打方取消邀請(撥打方收到此 reason 表示自己取消;接聽方收到表示對方取消) - [Equatable Implementations](reference/swift/documentation/revuesdk/invitationendreason/equatable-implementations/index.md) - [InvitationEndReason.finished](reference/swift/documentation/revuesdk/invitationendreason/finished/index.md): 對方結束邀請(C 層 `AV_CALL_STATE` FINISHED bit) - [InvitationEndReason.rejected](reference/swift/documentation/revuesdk/invitationendreason/rejected/index.md): 接聽方拒絕邀請(撥打方收到表示對方拒絕;接聽方收到表示自己拒絕) - [InvitationEndReason.timeout](reference/swift/documentation/revuesdk/invitationendreason/timeout/index.md): 我方寬限期到期、放棄等待(C 層 `AV_CALL_STATE` ERROR bit) - [capturer](reference/swift/documentation/revuesdk/localaudiotrack/capturer/index.md): 音訊擷取器 - [createBufferTrack(name:)](reference/swift/documentation/revuesdk/localaudiotrack/createbuffertrack%28name:%29/index.md): 建立自訂音訊輸入 Track(AudioBufferCapturer) - [mute()](reference/swift/documentation/revuesdk/localaudiotrack/mute%28%29/index.md): 作用依軌道而定: - [unmute()](reference/swift/documentation/revuesdk/localaudiotrack/unmute%28%29/index.md): 取消靜音(對稱於 `mute()`:出口切回送真實聲音,麥克風軌道另解除 `AudioManager` 的靜音)。 - [audioPublication(to:)](reference/swift/documentation/revuesdk/localparticipant/audiopublication%28to:%29/index.md): 查詢是否已對指定參與者發佈音訊 Track - [cameraTrack](reference/swift/documentation/revuesdk/localparticipant/cameratrack/index.md): 相機 Track(lazy — 首次存取時建立,跨通話 / 房間持久,SDK destroy 才隨 LocalParticipant 陪葬)。 - [isCameraActive](reference/swift/documentation/revuesdk/localparticipant/iscameraactive/index.md): 相機的開關狀態(不代表已 publish、不代表 isMuted 狀態) - [isMicrophoneActive](reference/swift/documentation/revuesdk/localparticipant/ismicrophoneactive/index.md): 麥克風的開關狀態(不代表已 publish、不代表 isMuted 狀態) - [isScreenSharing](reference/swift/documentation/revuesdk/localparticipant/isscreensharing/index.md): 螢幕分享「是否進行中」狀態 — 統一 In-app / Broadcast 兩模式的對上層訊號。 - [isScreenSharingPublisher](reference/swift/documentation/revuesdk/localparticipant/isscreensharingpublisher/index.md) - [localAudioTracks](reference/swift/documentation/revuesdk/localparticipant/localaudiotracks/index.md): 已發布的本地音訊 publication,規則同 `localVideoTracks` - [localVideoTracks](reference/swift/documentation/revuesdk/localparticipant/localvideotracks/index.md): 每位接收者各一份:同一條鏡頭軌道發布給 A、B,會得到 2 個 publication, 接收者分別是 A 與 B。螢幕分享也算視訊。未發布的軌道不在其中。 - [microphoneTrack](reference/swift/documentation/revuesdk/localparticipant/microphonetrack/index.md): 麥克風 Track(lazy — 同 cameraTrack 語意;建立僅接上 MicrophoneCapturer.shared 對外殼 + 一條訂閱,不碰 AVAudioSession / AudioEngine、不觸發麥克風權限)。 - [publish(audioTrack:to:options:)](reference/swift/documentation/revuesdk/localparticipant/publish%28audiotrack:to:options:%29/index.md): 發佈音訊 Track 到指定參與者 - [publish(message:to:timeout:)](reference/swift/documentation/revuesdk/localparticipant/publish%28message:to:timeout:%29/index.md): 發送訊息給指定參與者(Room 層訊息管道) - [publish(videoTrack:to:options:)](reference/swift/documentation/revuesdk/localparticipant/publish%28videotrack:to:options:%29/index.md): 發佈視訊 Track 到指定參與者 - [publishCamera(to:options:)](reference/swift/documentation/revuesdk/localparticipant/publishcamera%28to:options:%29/index.md): 發佈相機給指定參與者(track 隨取隨有,上層不需要先呼叫 setCamera) - [publishMicrophone(to:options:)](reference/swift/documentation/revuesdk/localparticipant/publishmicrophone%28to:options:%29/index.md): 發佈麥克風給指定參與者(track 隨取隨有,上層不需要先呼叫 setMicrophone) - [screenShareTrack](reference/swift/documentation/revuesdk/localparticipant/screensharetrack/index.md): 螢幕分享 Track(lazy — 同 cameraTrack 語意) - [set(name:)](reference/swift/documentation/revuesdk/localparticipant/set%28name:%29/index.md): 設定自身名稱(Room 層 alias,底層走朋友層 toxcore broadcast) - [set(source:enabled:)](reference/swift/documentation/revuesdk/localparticipant/set%28source:enabled:%29/index.md): 開關一條本地軌道(軌道層 mute):所有接收者一起受影響 - [set(status:)](reference/swift/documentation/revuesdk/localparticipant/set%28status:%29/index.md): 設定自身使用者狀態(Room 層 alias) - [set(statusMessage:)](reference/swift/documentation/revuesdk/localparticipant/set%28statusmessage:%29/index.md): 設定自身狀態訊息(Room 層 alias) - [setCamera(enabled:options:)](reference/swift/documentation/revuesdk/localparticipant/setcamera%28enabled:options:%29/index.md): 啟用/停用相機**硬體擷取**(不 publish、不改 `isMuted`) - [setMicrophone(enabled:)](reference/swift/documentation/revuesdk/localparticipant/setmicrophone%28enabled:%29/index.md): 啟用/停用麥克風**硬體擷取**(不 publish、不改 `isMuted`) - [setScreenShare(enabled:)](reference/swift/documentation/revuesdk/localparticipant/setscreenshare%28enabled:%29/index.md): 啟用/停用螢幕分享**硬體擷取**(iOS)— 純設備控制,**不 publish** - [unpublish(publication:)](reference/swift/documentation/revuesdk/localparticipant/unpublish%28publication:%29/index.md): 取消發佈 Track - [unpublishAll()](reference/swift/documentation/revuesdk/localparticipant/unpublishall%28%29/index.md): 取消發佈所有 Track - [videoPublication(source:to:)](reference/swift/documentation/revuesdk/localparticipant/videopublication%28source:to:%29/index.md): 查詢是否已對指定參與者發佈視訊 Track - [audioPublishOptions](reference/swift/documentation/revuesdk/localtrackpublication/audiopublishoptions/index.md): publish 時使用的音訊選項 - [mute()](reference/swift/documentation/revuesdk/localtrackpublication/mute%28%29/index.md): 只對這一份 publication 的接收者靜音(mute 兩層中的 publication 層) - [requestKeyframe()](reference/swift/documentation/revuesdk/localtrackpublication/requestkeyframe%28%29/index.md): 請求編碼器立即送 keyframe(畫面破圖恢復用) - [setCodec(_:)](reference/swift/documentation/revuesdk/localtrackpublication/setcodec%28_:%29/index.md): 切換視訊 codec(含 encoding) - [setH264Encoding(_:)](reference/swift/documentation/revuesdk/localtrackpublication/seth264encoding%28_:%29/index.md): 調整 H.264 encoding 參數(目前只公開 maxBitrate) - [setMaxFps(_:)](reference/swift/documentation/revuesdk/localtrackpublication/setmaxfps%28_:%29/index.md): 調整編碼器發送端 FPS 上限 - [setVp8Encoding(_:)](reference/swift/documentation/revuesdk/localtrackpublication/setvp8encoding%28_:%29/index.md): 調整 VP8 encoding 參數(逐一呼叫 revuekit-c 的 VP8 setter) - [unmute()](reference/swift/documentation/revuesdk/localtrackpublication/unmute%28%29/index.md): 取消這一份 publication 的靜音(見 `mute()`;軌道仍 mute 時對方照樣收到佔位畫面或靜音) - [videoPublishOptions](reference/swift/documentation/revuesdk/localtrackpublication/videopublishoptions/index.md): publish 時使用的視訊選項 - [capturer](reference/swift/documentation/revuesdk/localvideotrack/capturer/index.md): 視訊擷取器(CameraCapturer 或 BufferCapturer) - [createBufferTrack(name:source:)](reference/swift/documentation/revuesdk/localvideotrack/createbuffertrack%28name:source:%29/index.md): 建立外部影像輸入 Track(BufferCapturer) - [mute()](reference/swift/documentation/revuesdk/localvideotrack/mute%28%29/index.md): 靜音整條軌道:每位接收者都收到佔位畫面,包括之後才發布的接收者。 - [mutePlaceholder](reference/swift/documentation/revuesdk/localvideotrack/muteplaceholder/index.md): 關閉相機時顯示的替代畫面(nil = 16×16 黑畫面) - [processor](reference/swift/documentation/revuesdk/localvideotrack/processor/index.md): 視訊處理器(例如背景模糊、浮水印,可選) - [unmute()](reference/swift/documentation/revuesdk/localvideotrack/unmute%28%29/index.md): 取消靜音(對稱於 `mute()`):每位接收者的出口切回送真實畫面,不碰硬體;鏡頭關著時對方仍收到佔位畫面。 只翻 `Track.isMuted` 並觸發一次 `TrackDelegate.track(_:didUpdateIsMuted:)`;那一位的 publication 若自己 mute 著,他仍收到佔… - [captureState](reference/swift/documentation/revuesdk/microphonecapturer/capturestate/index.md): 擷取器狀態(從內部 audioEngine isRunning 推導) - [startCapture()](reference/swift/documentation/revuesdk/microphonecapturer/startcapture%28%29/index.md): 啟動擷取(包裝內部 sync `start()` 為 protocol 要求的 async) - [stopCapture()](reference/swift/documentation/revuesdk/microphonecapturer/stopcapture%28%29/index.md): 停止擷取(包裝內部 sync `stop()` 為 protocol 要求的 async) - [add(delegate:)](reference/swift/documentation/revuesdk/multicastdelegate/add%28delegate:%29/index.md): 新增代理 - [remove(delegate:)](reference/swift/documentation/revuesdk/multicastdelegate/remove%28delegate:%29/index.md): 移除代理 - [removeAll()](reference/swift/documentation/revuesdk/multicastdelegate/removeall%28%29/index.md): 移除所有代理 - [!=(_:_:)](reference/swift/documentation/revuesdk/outboundstatistics/!=%28_:_:%29/index.md) - [audioFrameRate](reference/swift/documentation/revuesdk/outboundstatistics/audioframerate/index.md): 每秒送出的音訊段數(發端音訊版「fps」)。與 Inbound 的 audioFrameRate 對稱。 來源:發送管線 sendAudioFrame 送出點數 / 秒(SDK 自算,總量語意 = 各對象各自送出的總和)。 視訊軌道為 `nil`(無音訊段);音訊軌道才有值。 - [Equatable Implementations](reference/swift/documentation/revuesdk/outboundstatistics/equatable-implementations/index.md) - [fps](reference/swift/documentation/revuesdk/outboundstatistics/fps/index.md): 送出實測幀率。音訊軌道為 `nil`。 來源:發送管線送出點數幀 / 秒(VP8 output + H264 h264EncodeOutput,SDK 自算)。 註:發端 bitrate 不做——VP8 實際送出量在 C 層 toxav 內壓縮(黑箱、Swift 拿不到), 無法與 H264 對稱;上行碼率改看… - [height](reference/swift/documentation/revuesdk/outboundstatistics/height/index.md) - [width](reference/swift/documentation/revuesdk/outboundstatistics/width/index.md): 送出畫面寬/高(編碼後實送規格)。與 videoSource 比對看降質來源。音訊軌道為 `nil`。 來源:發送管線送出點數(涵蓋 VP8 + H264 兩條,非只有 VP8 的 getVideoEncodingParams)。 - [audioLevel](reference/swift/documentation/revuesdk/participant/audiolevel/index.md): 即時音量(0.0 ~ 1.0) - [audioTracks](reference/swift/documentation/revuesdk/participant/audiotracks/index.md): 音訊 Track 列表(篩選 kind == .audio) - [connectionQuality](reference/swift/documentation/revuesdk/participant/connectionquality/index.md): 連線品質(5 級:excellent/good/fair/poor/bad + unknown) - [delegates](reference/swift/documentation/revuesdk/participant/delegates/index.md): 細粒度訂閱此 Participant 的事件 - [firstAudioTrack](reference/swift/documentation/revuesdk/participant/firstaudiotrack/index.md): 第一個音訊 Track(便捷存取) - [firstCameraVideoTrack](reference/swift/documentation/revuesdk/participant/firstcameravideotrack/index.md): 第一個相機視訊 Track(便捷存取) - [firstScreenShareVideoTrack](reference/swift/documentation/revuesdk/participant/firstscreensharevideotrack/index.md): 第一個螢幕分享視訊 Track(便捷存取) - [id](reference/swift/documentation/revuesdk/participant/id/index.md) - [identity](reference/swift/documentation/revuesdk/participant/identity/index.md): 唯一識別碼(對應 friendId) - [isCameraEnabled()](reference/swift/documentation/revuesdk/participant/iscameraenabled%28%29/index.md): `Participant.isCameraEnabled()` 同樣只看 `!isMuted`)。 - [isMicrophoneEnabled()](reference/swift/documentation/revuesdk/participant/ismicrophoneenabled%28%29/index.md): 讀法與限制同 `isCameraEnabled()`;軌道層讀 `LocalParticipant.microphoneTrack.isMuted`。 - [isScreenShareEnabled()](reference/swift/documentation/revuesdk/participant/isscreenshareenabled%28%29/index.md): 讀法與限制同 `isCameraEnabled()`;本地是否正在擷取看 `LocalParticipant.isScreenSharing`。 - [isSpeaking](reference/swift/documentation/revuesdk/participant/isspeaking/index.md): 是否正在說話 - [joinedAt](reference/swift/documentation/revuesdk/participant/joinedat/index.md): 加入時間 - [lastSpokeAt](reference/swift/documentation/revuesdk/participant/lastspokeat/index.md): 「他剛剛還在講」這件事由 `isSpeaking` 表達;此屬性提供的是「發言起點」, 可用於排序(最近發言者優先)與顯示(「5 分鐘前發言」)。 - [name](reference/swift/documentation/revuesdk/participant/name/index.md): 顯示名稱;沒有時為 nil(不是空字串) - [objectWillChange](reference/swift/documentation/revuesdk/participant/objectwillchange/index.md) - [ObservableObject Implementations](reference/swift/documentation/revuesdk/participant/observableobject-implementations/index.md) - [statusMessage](reference/swift/documentation/revuesdk/participant/statusmessage/index.md): 狀態訊息(個人簽名);沒有時為 nil(不是空字串) - [trackPublications](reference/swift/documentation/revuesdk/participant/trackpublications/index.md): 所有 Track 發佈 [Track.Sid: TrackPublication] - [userStatus](reference/swift/documentation/revuesdk/participant/userstatus/index.md): 使用者狀態(none / away / busy) - [videoTracks](reference/swift/documentation/revuesdk/participant/videotracks/index.md): 視訊 Track 列表(篩選 kind == .video) - [participant(_:didDisconnectWithReason:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:diddisconnectwithreason:%29/index.md) - [participant(_:didDisconnectWithReason:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:diddisconnectwithreason:%29-6o2oq/index.md) - [participant(_:didPublishTrack:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:didpublishtrack:%29/index.md) - [participant(_:didPublishTrack:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:didpublishtrack:%29-92bma/index.md) - [participant(_:didReceiveMessage:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:didreceivemessage:%29/index.md) - [participant(_:didReceiveMessage:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:didreceivemessage:%29-8ft4q/index.md) - [participant(_:didReceiveMuteRequest:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:didreceivemuterequest:%29/index.md) - [participant(_:didReceiveMuteRequest:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:didreceivemuterequest:%29-7rq09/index.md) - [participant(_:didSubscribeTrack:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:didsubscribetrack:%29/index.md) - [participant(_:didSubscribeTrack:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:didsubscribetrack:%29-3mzq7/index.md) - [participant(_:didUnpublishTrack:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:didunpublishtrack:%29/index.md) - [participant(_:didUnpublishTrack:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:didunpublishtrack:%29-9kyml/index.md) - [participant(_:didUnsubscribeTrack:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:didunsubscribetrack:%29/index.md) - [participant(_:didUnsubscribeTrack:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:didunsubscribetrack:%29-410c8/index.md) - [participant(_:didUpdateConnectionQuality:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:didupdateconnectionquality:%29/index.md): 連線品質變更(5 級:excellent / good / fair / poor / bad) - [participant(_:didUpdateConnectionQuality:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:didupdateconnectionquality:%29-97aej/index.md) - [participant(_:didUpdateIsSpeaking:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:didupdateisspeaking:%29/index.md): 說話狀態變更(**僅在 `isSpeaking` 真正翻轉時**觸發,不會每 tick 重複通知) - [participant(_:didUpdateIsSpeaking:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:didupdateisspeaking:%29-7hj1u/index.md) - [participant(_:didUpdateName:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:didupdatename:%29/index.md): 參與者名稱已更新;對方清空名字時 `name` 為 nil - [participant(_:didUpdateName:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:didupdatename:%29-21afm/index.md) - [participant(_:didUpdatePaths:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:didupdatepaths:%29/index.md): 參與者連線路徑變更(FriendConnectionPaths bitmap,v0.13.0-rc1) - [participant(_:didUpdatePaths:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:didupdatepaths:%29-554wd/index.md) - [participant(_:didUpdateStatus:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:didupdatestatus:%29/index.md): 參與者使用者狀態已更新(none/away/busy) - [participant(_:didUpdateStatus:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:didupdatestatus:%29-3p0fu/index.md) - [participant(_:didUpdateStatusMessage:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:didupdatestatusmessage:%29/index.md): 參與者狀態訊息已更新;對方清空時 `message` 為 nil - [participant(_:didUpdateStatusMessage:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:didupdatestatusmessage:%29-9q3t4/index.md) - [participant(_:trackPublication:didUpdateIsMuted:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:trackpublication:didupdateismuted:%29/index.md) - [participant(_:trackPublication:didUpdateIsMuted:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:trackpublication:didupdateismuted:%29-642mw/index.md) - [participant(_:trackPublication:didUpdateStatistics:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:trackpublication:didupdatestatistics:%29/index.md): Track 統計更新(每秒一次,僅 `Room.shared.reportStatistics == true` 時 fire、且有變化才 fire)。 - [participant(_:trackPublication:didUpdateStatistics:)](reference/swift/documentation/revuesdk/participantdelegate/participant%28_:trackpublication:didupdatestatistics:%29-1wnfl/index.md) - [!=(_:_:)](reference/swift/documentation/revuesdk/presenceconnectionstate/!=%28_:_:%29/index.md) - [PresenceConnectionState.connected](reference/swift/documentation/revuesdk/presenceconnectionstate/connected/index.md): 已連線(broker 通訊正常) - [PresenceConnectionState.connecting](reference/swift/documentation/revuesdk/presenceconnectionstate/connecting/index.md): 連線中(首次連線) - [PresenceConnectionState.disconnected](reference/swift/documentation/revuesdk/presenceconnectionstate/disconnected/index.md): 已斷線 - [Equatable Implementations](reference/swift/documentation/revuesdk/presenceconnectionstate/equatable-implementations/index.md) - [hash(into:)](reference/swift/documentation/revuesdk/presenceconnectionstate/hash%28into:%29/index.md) - [hashValue](reference/swift/documentation/revuesdk/presenceconnectionstate/hashvalue/index.md) - [init(rawValue:)](reference/swift/documentation/revuesdk/presenceconnectionstate/init%28rawvalue:%29/index.md) - [makeFromRawAttachmentValue(_:)](reference/swift/documentation/revuesdk/presenceconnectionstate/makefromrawattachmentvalue%28_:%29/index.md) - [PresenceConnectionState.notInitialized](reference/swift/documentation/revuesdk/presenceconnectionstate/notinitialized/index.md): 未初始化(Presence 服務尚未啟動) - [rawAttachmentValueRepresentation](reference/swift/documentation/revuesdk/presenceconnectionstate/rawattachmentvaluerepresentation/index.md) - [RawRepresentable Implementations](reference/swift/documentation/revuesdk/presenceconnectionstate/rawrepresentable-implementations/index.md) - [PresenceConnectionState.reconnecting](reference/swift/documentation/revuesdk/presenceconnectionstate/reconnecting/index.md): 重新連線中(曾連上後斷線) - [getConnectionState()](reference/swift/documentation/revuesdk/presencemanager/getconnectionstate%28%29/index.md): 取得「自己跟 MQTT broker 的連線狀態」 - [getFriendStatus(friendId:)](reference/swift/documentation/revuesdk/presencemanager/getfriendstatus%28friendid:%29/index.md): 取得「某朋友的 Presence 狀態」(broker 端視角) - [getStatus()](reference/swift/documentation/revuesdk/presencemanager/getstatus%28%29/index.md): 取得「我自己目前廣播給 broker 的 Presence 狀態」 - [setStatus(_:)](reference/swift/documentation/revuesdk/presencemanager/setstatus%28_:%29/index.md): 設定「我自己廣播給 broker 的 Presence 狀態」 - [!=(_:_:)](reference/swift/documentation/revuesdk/presencestatus/!=%28_:_:%29/index.md) - [PresenceStatus.away](reference/swift/documentation/revuesdk/presencestatus/away/index.md): 離開 - [PresenceStatus.busy](reference/swift/documentation/revuesdk/presencestatus/busy/index.md): 忙碌 - [Equatable Implementations](reference/swift/documentation/revuesdk/presencestatus/equatable-implementations/index.md) - [hash(into:)](reference/swift/documentation/revuesdk/presencestatus/hash%28into:%29/index.md) - [hashValue](reference/swift/documentation/revuesdk/presencestatus/hashvalue/index.md) - [init(rawValue:)](reference/swift/documentation/revuesdk/presencestatus/init%28rawvalue:%29/index.md) - [isOnline](reference/swift/documentation/revuesdk/presencestatus/isonline/index.md): True when the broker currently sees the friend (online / away / busy). - [makeFromRawAttachmentValue(_:)](reference/swift/documentation/revuesdk/presencestatus/makefromrawattachmentvalue%28_:%29/index.md) - [PresenceStatus.offline](reference/swift/documentation/revuesdk/presencestatus/offline/index.md): 離線(broker 沒看到對方) - [PresenceStatus.online](reference/swift/documentation/revuesdk/presencestatus/online/index.md): 在線 - [rawAttachmentValueRepresentation](reference/swift/documentation/revuesdk/presencestatus/rawattachmentvaluerepresentation/index.md) - [RawRepresentable Implementations](reference/swift/documentation/revuesdk/presencestatus/rawrepresentable-implementations/index.md) - [PresenceStatus.unknown](reference/swift/documentation/revuesdk/presencestatus/unknown/index.md): Not answerable: presence not configured, broker not connected, friend never reported, or bad id (core 0.22.0). - [!=(_:_:)](reference/swift/documentation/revuesdk/rcmode/!=%28_:_:%29/index.md) - [RcMode.cbr](reference/swift/documentation/revuesdk/rcmode/cbr/index.md): Constant Bitrate — bitrate 固定、畫質浮動(適合直播 / 即時通訊) - [RcMode.cq](reference/swift/documentation/revuesdk/rcmode/cq/index.md): Constrained Quality — 畫質為主、bitrate 為輔(弱網最佳) - [Equatable Implementations](reference/swift/documentation/revuesdk/rcmode/equatable-implementations/index.md) - [hash(into:)](reference/swift/documentation/revuesdk/rcmode/hash%28into:%29/index.md) - [hashValue](reference/swift/documentation/revuesdk/rcmode/hashvalue/index.md) - [init(rawValue:)](reference/swift/documentation/revuesdk/rcmode/init%28rawvalue:%29/index.md) - [makeFromRawAttachmentValue(_:)](reference/swift/documentation/revuesdk/rcmode/makefromrawattachmentvalue%28_:%29/index.md) - [rawAttachmentValueRepresentation](reference/swift/documentation/revuesdk/rcmode/rawattachmentvaluerepresentation/index.md) - [RawRepresentable Implementations](reference/swift/documentation/revuesdk/rcmode/rawrepresentable-implementations/index.md) - [RcMode.vbr](reference/swift/documentation/revuesdk/rcmode/vbr/index.md): Variable Bitrate — 畫質為目標、bitrate 浮動 - [!=(_:_:)](reference/swift/documentation/revuesdk/recorderstate/!=%28_:_:%29/index.md) - [Equatable Implementations](reference/swift/documentation/revuesdk/recorderstate/equatable-implementations/index.md) - [RecorderState.finalizing](reference/swift/documentation/revuesdk/recorderstate/finalizing/index.md): 收尾中(finishWriting 進行中,不可 start) - [hash(into:)](reference/swift/documentation/revuesdk/recorderstate/hash%28into:%29/index.md) - [hashValue](reference/swift/documentation/revuesdk/recorderstate/hashvalue/index.md) - [RecorderState.idle](reference/swift/documentation/revuesdk/recorderstate/idle/index.md): 未錄影 - [init(rawValue:)](reference/swift/documentation/revuesdk/recorderstate/init%28rawvalue:%29/index.md) - [makeFromRawAttachmentValue(_:)](reference/swift/documentation/revuesdk/recorderstate/makefromrawattachmentvalue%28_:%29/index.md) - [RecorderState.paused](reference/swift/documentation/revuesdk/recorderstate/paused/index.md): 暫停中 - [rawAttachmentValueRepresentation](reference/swift/documentation/revuesdk/recorderstate/rawattachmentvaluerepresentation/index.md) - [RawRepresentable Implementations](reference/swift/documentation/revuesdk/recorderstate/rawrepresentable-implementations/index.md) - [RecorderState.recording](reference/swift/documentation/revuesdk/recorderstate/recording/index.md): 錄影中 - [Error Implementations](reference/swift/documentation/revuesdk/recordingerror/error-implementations/index.md) - [errorDescription](reference/swift/documentation/revuesdk/recordingerror/errordescription/index.md) - [failureReason](reference/swift/documentation/revuesdk/recordingerror/failurereason/index.md) - [helpAnchor](reference/swift/documentation/revuesdk/recordingerror/helpanchor/index.md) - [RecordingError.insufficientDiskSpace(available:required:)](reference/swift/documentation/revuesdk/recordingerror/insufficientdiskspace%28available:required:%29/index.md) - [localizedDescription](reference/swift/documentation/revuesdk/recordingerror/localizeddescription/index.md) - [LocalizedError Implementations](reference/swift/documentation/revuesdk/recordingerror/localizederror-implementations/index.md) - [recoverySuggestion](reference/swift/documentation/revuesdk/recordingerror/recoverysuggestion/index.md) - [createdAt](reference/swift/documentation/revuesdk/recordingfileinfo/createdat/index.md): 建立時間 - [duration](reference/swift/documentation/revuesdk/recordingfileinfo/duration/index.md): 錄影時長(秒) - [fileName](reference/swift/documentation/revuesdk/recordingfileinfo/filename/index.md): 檔案名稱(含副檔名) - [filePath](reference/swift/documentation/revuesdk/recordingfileinfo/filepath/index.md): 檔案完整路徑 - [fileSize](reference/swift/documentation/revuesdk/recordingfileinfo/filesize/index.md): 檔案大小(bytes) - [fileURL](reference/swift/documentation/revuesdk/recordingfileinfo/fileurl/index.md): 檔案 URL - [id](reference/swift/documentation/revuesdk/recordingfileinfo/id/index.md): 檔案 ID(UUID) - [init(id:fileName:filePath:fileSize:duration:createdAt:videoWidth:videoHeight:)](reference/swift/documentation/revuesdk/recordingfileinfo/init%28id:filename:filepath:filesize:duration:createdat:videowidth:videoheight:%29/index.md) - [videoHeight](reference/swift/documentation/revuesdk/recordingfileinfo/videoheight/index.md): 影片高度(pixels,從 mp4 video track naturalSize 取得;無法讀取時為 0) - [videoWidth](reference/swift/documentation/revuesdk/recordingfileinfo/videowidth/index.md): 影片寬度(pixels,從 mp4 video track naturalSize 取得;無法讀取時為 0) - [volume](reference/swift/documentation/revuesdk/remoteaudiotrack/volume/index.md): 超出範圍的值會被夾住(`clampVolume`)。 - [disconnect()](reference/swift/documentation/revuesdk/remoteparticipant/disconnect%28%29/index.md): 斷開與此參與者的連線 - [lastDisconnectReason](reference/swift/documentation/revuesdk/remoteparticipant/lastdisconnectreason/index.md): 最近一次斷線原因 - [paths](reference/swift/documentation/revuesdk/remoteparticipant/paths/index.md): 與此參與者的連線路徑(FriendConnectionPaths bitmap,v0.13.0-rc1) - [requestMute(_:)](reference/swift/documentation/revuesdk/remoteparticipant/requestmute%28_:%29/index.md): 發送靜音請求給此參與者 - [isEnabled](reference/swift/documentation/revuesdk/remotetrackpublication/isenabled/index.md): 是否啟用接收 - [set(enabled:)](reference/swift/documentation/revuesdk/remotetrackpublication/set%28enabled:%29/index.md): 設定是否啟用接收 - [address](reference/swift/documentation/revuesdk/revue/bootstrapnode/address/index.md) - [init(address:port:publicKey:tcpRelayPort:udpRelayPort:)](reference/swift/documentation/revuesdk/revue/bootstrapnode/init%28address:port:publickey:tcprelayport:udprelayport:%29/index.md) - [port](reference/swift/documentation/revuesdk/revue/bootstrapnode/port/index.md): DHT bootstrap 埠號,一定會註冊 - [publicKey](reference/swift/documentation/revuesdk/revue/bootstrapnode/publickey/index.md) - [tcpRelayPort](reference/swift/documentation/revuesdk/revue/bootstrapnode/tcprelayport/index.md): TCP relay 埠號;nil = 此節點不註冊 TCP relay - [udpRelayPort](reference/swift/documentation/revuesdk/revue/bootstrapnode/udprelayport/index.md): UDP relay 埠號;nil = 此節點不註冊 UDP relay(另受 `NetworkOptions.enableUdpRelay` 控制) - [bootstrapNodes](reference/swift/documentation/revuesdk/revue/configuration/bootstrapnodes/index.md): Bootstrap 節點列表 - [default](reference/swift/documentation/revuesdk/revue/configuration/default/index.md): 預設設定(**不含 bootstrap 節點**) - [init(savedataFileName:savedataPassword:bootstrapNodes:networkOptions:licenseData:mqttOptions:)](reference/swift/documentation/revuesdk/revue/configuration/init%28savedatafilename:savedatapassword:bootstrapnodes:networkoptions:licensedata:mqttoptions:%29/index.md) - [licenseData](reference/swift/documentation/revuesdk/revue/configuration/licensedata/index.md): 授權憑證位元組(v0.14.0 起必要) - [mqttOptions](reference/swift/documentation/revuesdk/revue/configuration/mqttoptions/index.md): MQTT / presence connection settings. nil = core built-in broker and credentials. Read only at initialize; `Revue.startPresence(_:)` changes the settings later. - [networkOptions](reference/swift/documentation/revuesdk/revue/configuration/networkoptions/index.md): 網路選項 - [savedataFileName](reference/swift/documentation/revuesdk/revue/configuration/savedatafilename/index.md): Savedata 檔名(不含路徑;Bridge 自動放在 ApplicationSupport 內) - [savedataPassword](reference/swift/documentation/revuesdk/revue/configuration/savedatapassword/index.md): 存檔加密密碼(可選) 若設定則使用加密存檔初始化 - [connectionState](reference/swift/documentation/revuesdk/revue/connectionstate/index.md): 自身 DHT 連線狀態 - [delegates](reference/swift/documentation/revuesdk/revue/delegates/index.md): 多播代理(朋友層事件) - [destroy(_:)](reference/swift/documentation/revuesdk/revue/destroy%28_:%29/index.md): 銷毀 SDK(離開房間 + 清除 delegates + 停止 core loop + 銷毀 C 實例), 再依 `options` 刪除 SDK 寫到硬碟的資料 - [default](reference/swift/documentation/revuesdk/revue/destroyoptions/default/index.md): 什麼都不刪(既有的 destroy 行為) - [deleteAllData](reference/swift/documentation/revuesdk/revue/destroyoptions/deletealldata/index.md): 刪除身分存檔、core 附屬檔與所有錄影 - [deleteRecordings](reference/swift/documentation/revuesdk/revue/destroyoptions/deleterecordings/index.md): 刪除錄影目錄下的所有錄影 - [deleteSavedata](reference/swift/documentation/revuesdk/revue/destroyoptions/deletesavedata/index.md): 刪除本次 initialize 用的身分存檔與 core 附屬檔(`<檔名>_friends.dat`、`traffic_stats/`) - [init(deleteSavedata:deleteRecordings:)](reference/swift/documentation/revuesdk/revue/destroyoptions/init%28deletesavedata:deleterecordings:%29/index.md) - [friends](reference/swift/documentation/revuesdk/revue/friends/index.md): 好友管理器 - [getCoreVersion()](reference/swift/documentation/revuesdk/revue/getcoreversion%28%29/index.md): 取得 revuekit-c 核心版本字串(例:「0.11.0」) - [getVersion()](reference/swift/documentation/revuesdk/revue/getversion%28%29/index.md): 取得自己版本 - [initialize(_:)](reference/swift/documentation/revuesdk/revue/initialize%28_:%29/index.md): 初始化 SDK(建立 C 實例 + bootstrap + 啟動 core loop) - [logLevel](reference/swift/documentation/revuesdk/revue/loglevel/index.md): The SDK log levels selected now. - [logPublisher](reference/swift/documentation/revuesdk/revue/logpublisher/index.md): SDK log 流(v0.13.0-rc1 新增) - [brokerUrl](reference/swift/documentation/revuesdk/revue/mqttoptions/brokerurl/index.md) - [caCertPath](reference/swift/documentation/revuesdk/revue/mqttoptions/cacertpath/index.md) - [deferred](reference/swift/documentation/revuesdk/revue/mqttoptions/deferred/index.md): Settings for an App that has no MQTT account yet: `initialize` does not start presence. Call `Revue.startPresence(_:)` after the user signs in. - [deferStart](reference/swift/documentation/revuesdk/revue/mqttoptions/deferstart/index.md) - [init(brokerUrl:username:password:caCertPath:presenceQos:deferStart:)](reference/swift/documentation/revuesdk/revue/mqttoptions/init%28brokerurl:username:password:cacertpath:presenceqos:deferstart:%29/index.md) - [password](reference/swift/documentation/revuesdk/revue/mqttoptions/password/index.md) - [presenceQos](reference/swift/documentation/revuesdk/revue/mqttoptions/presenceqos/index.md) - [username](reference/swift/documentation/revuesdk/revue/mqttoptions/username/index.md) - [default](reference/swift/documentation/revuesdk/revue/networkoptions/default/index.md): 預設網路選項 - [enableTcpRelay](reference/swift/documentation/revuesdk/revue/networkoptions/enabletcprelay/index.md): 啟用 TCP 中繼 - [enableUdpDirect](reference/swift/documentation/revuesdk/revue/networkoptions/enableudpdirect/index.md): 啟用 UDP 直連(P2P hole punching) - [enableUdpRelay](reference/swift/documentation/revuesdk/revue/networkoptions/enableudprelay/index.md): 啟用 UDP 中繼 - [endPort](reference/swift/documentation/revuesdk/revue/networkoptions/endport/index.md): 端口範圍結束(0 = 使用 toxcore 預設 33545) - [init(enableUdpDirect:enableTcpRelay:enableUdpRelay:ipv6Enabled:localDiscoveryEnabled:startPort:endPort:switchAEnabled:switchBEnabled:switchAGracePeriodMs:switchBGracePeriodMs:)](reference/swift/documentation/revuesdk/revue/networkoptions/init%28enableudpdirect:enabletcprelay:enableudprelay:ipv6enabled:localdiscoveryenabled:startport:endport:switchaenabled:switchbenabled:switchagraceperiodms:switchbgraceperiodms:%29/index.md) - [ipv6Enabled](reference/swift/documentation/revuesdk/revue/networkoptions/ipv6enabled/index.md): 啟用 IPv6 - [localDiscoveryEnabled](reference/swift/documentation/revuesdk/revue/networkoptions/localdiscoveryenabled/index.md): 啟用區網探索 - [startPort](reference/swift/documentation/revuesdk/revue/networkoptions/startport/index.md): 端口範圍起始(0 = 使用 toxcore 預設 33445) - [switchAEnabled](reference/swift/documentation/revuesdk/revue/networkoptions/switchaenabled/index.md): Switch A:直連切換遲滯保護(v0.15.0) - [switchAGracePeriodMs](reference/swift/documentation/revuesdk/revue/networkoptions/switchagraceperiodms/index.md): Switch A 寬限期(毫秒) - [switchBEnabled](reference/swift/documentation/revuesdk/revue/networkoptions/switchbenabled/index.md): Switch B:直連可見性寬限期(v0.15.0) - [switchBGracePeriodMs](reference/swift/documentation/revuesdk/revue/networkoptions/switchbgraceperiodms/index.md): Switch B 寬限期(毫秒),語意同 `switchAGracePeriodMs`,與 Switch A 各自獨立計時 - [objectWillChange](reference/swift/documentation/revuesdk/revue/objectwillchange/index.md) - [ObservableObject Implementations](reference/swift/documentation/revuesdk/revue/observableobject-implementations/index.md) - [presence](reference/swift/documentation/revuesdk/revue/presence/index.md): Presence 管理器 - [revueAddress](reference/swift/documentation/revuesdk/revue/revueaddress/index.md): 自身 Revue Address(用於加好友,初始化後可用) - [revueId](reference/swift/documentation/revuesdk/revue/revueid/index.md): 自身 Revue ID(Base58 公鑰,初始化後可用) - [selfName](reference/swift/documentation/revuesdk/revue/selfname/index.md): 自身名稱(初始化後可用) - [selfStatus](reference/swift/documentation/revuesdk/revue/selfstatus/index.md): 自身使用者狀態(初始化後可用) - [selfStatusMessage](reference/swift/documentation/revuesdk/revue/selfstatusmessage/index.md): 自身狀態訊息(初始化後可用) - [setLogLevel(_:)](reference/swift/documentation/revuesdk/revue/setloglevel%28_:%29/index.md): Choose which SDK log levels are output. Takes effect at once. - [setSelfName(_:)](reference/swift/documentation/revuesdk/revue/setselfname%28_:%29/index.md): 設定自身名稱 - [setSelfStatus(_:)](reference/swift/documentation/revuesdk/revue/setselfstatus%28_:%29/index.md): 設定自身使用者狀態(UserStatus:none / away / busy) - [setSelfStatusMessage(_:)](reference/swift/documentation/revuesdk/revue/setselfstatusmessage%28_:%29/index.md): 設定自身狀態訊息(個人簽名) - [shared](reference/swift/documentation/revuesdk/revue/shared/index.md) - [startPresence(_:)](reference/swift/documentation/revuesdk/revue/startpresence%28_:%29/index.md): Start presence, or replace the running connection with new settings. - [stopPresence()](reference/swift/documentation/revuesdk/revue/stoppresence%28%29/index.md): Stop presence, for example when the user signs out. Calls and friend connections are not affected. - [revue(_:didReceiveFrameCryptoError:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:didreceiveframecryptoerror:%29/index.md): Frame crypto 加解密錯誤(v0.14.0,C 層 type 102) - [revue(_:didReceiveFrameCryptoError:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:didreceiveframecryptoerror:%29-6oury/index.md) - [revue(_:didReceiveFriendRequest:message:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:didreceivefriendrequest:message:%29/index.md): 收到好友請求 - [revue(_:didReceiveFriendRequest:message:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:didreceivefriendrequest:message:%29-z5et/index.md) - [revue(_:didUpdateConnectionState:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:didupdateconnectionstate:%29/index.md): 自身 DHT 連線狀態變更(offline/tcp/udp) - [revue(_:didUpdateConnectionState:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:didupdateconnectionstate:%29-8df38/index.md) - [revue(_:didUpdatePresenceConnectionState:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:didupdatepresenceconnectionstate:%29/index.md): 自身 Presence 服務(MQTT broker)連線狀態變更 - [revue(_:didUpdatePresenceConnectionState:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:didupdatepresenceconnectionstate:%29-2wbri/index.md) - [revue(_:friend:didEndInvitation:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:friend:didendinvitation:%29/index.md): 雙邊共用:邀請結束(未成功進入通話) - [revue(_:friend:didEndInvitation:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:friend:didendinvitation:%29-5la6b/index.md) - [revue(_:friend:didReceiveInvitation:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:friend:didreceiveinvitation:%29/index.md): 接聽方視角:收到對方邀請 - [revue(_:friend:didReceiveInvitation:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:friend:didreceiveinvitation:%29-1tmgq/index.md) - [revue(_:friend:didReceiveMessage:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:friend:didreceivemessage:%29/index.md): 收到好友訊息(非 Room 內的一般訊息) - [revue(_:friend:didReceiveMessage:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:friend:didreceivemessage:%29-4jyud/index.md) - [revue(_:friend:didSendInvitation:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:friend:didsendinvitation:%29/index.md): 撥打方視角:我已送出邀請(對方在響鈴中) - [revue(_:friend:didSendInvitation:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:friend:didsendinvitation:%29-1iln3/index.md) - [revue(_:friend:didUpdateName:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:friend:didupdatename:%29/index.md): 好友改名 - [revue(_:friend:didUpdateName:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:friend:didupdatename:%29-mfs5/index.md) - [revue(_:friend:didUpdatePaths:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:friend:didupdatepaths:%29/index.md): 好友連線路徑變更(v0.13.0-rc1:UDP 直連 / UDP 中繼 / TCP 中繼三路同時 bitmap) - [revue(_:friend:didUpdatePaths:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:friend:didupdatepaths:%29-3fm90/index.md) - [revue(_:friend:didUpdatePresenceStatus:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:friend:didupdatepresencestatus:%29/index.md): 好友 Presence 原始狀態(offline/online/away/busy) - [revue(_:friend:didUpdatePresenceStatus:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:friend:didupdatepresencestatus:%29-6sdvv/index.md) - [revue(_:friend:didUpdateStatus:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:friend:didupdatestatus:%29/index.md): 好友主動設定狀態(UserStatus: none/away/busy) - [revue(_:friend:didUpdateStatus:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:friend:didupdatestatus:%29-1ez85/index.md) - [revue(_:friend:didUpdateStatusMessage:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:friend:didupdatestatusmessage:%29/index.md): 好友狀態訊息變更 - [revue(_:friend:didUpdateStatusMessage:)](reference/swift/documentation/revuesdk/revuedelegate/revue%28_:friend:didupdatestatusmessage:%29-98rnb/index.md) - [!=(_:_:)](reference/swift/documentation/revuesdk/revueiniterror/!=%28_:_:%29/index.md) - [Equatable Implementations](reference/swift/documentation/revuesdk/revueiniterror/equatable-implementations/index.md) - [Error Implementations](reference/swift/documentation/revuesdk/revueiniterror/error-implementations/index.md) - [errorDescription](reference/swift/documentation/revuesdk/revueiniterror/errordescription/index.md) - [failureReason](reference/swift/documentation/revuesdk/revueiniterror/failurereason/index.md) - [RevueInitError.gracePeriodTooShort](reference/swift/documentation/revuesdk/revueiniterror/graceperiodtooshort/index.md): Switch A/B 寬限期設了非 0 但小於下限 15000 毫秒 (C -27 `REVUEKIT_ERR_GRACE_PERIOD_TOO_SHORT`,@since 0.15.0) - [helpAnchor](reference/swift/documentation/revuesdk/revueiniterror/helpanchor/index.md) - [RevueInitError.initFailed(code:)](reference/swift/documentation/revuesdk/revueiniterror/initfailed%28code:%29/index.md): 其他初始化失敗,帶原始 C 錯誤碼供 debug(-5/-6/其他) - [RevueInitError.invalidConfiguration](reference/swift/documentation/revuesdk/revueiniterror/invalidconfiguration/index.md): 初始化參數錯誤(C -1 null pointer / -2 invalid argument) - [RevueInitError.invalidTransportConfig](reference/swift/documentation/revuesdk/revueiniterror/invalidtransportconfig/index.md): `NetworkOptions` 的 transport flag 組合自相矛盾 (C -32 `REVUEKIT_ERR_INVALID_TRANSPORT_CONFIG`,@since core 0.18.0) - [RevueInitError.licenseExpired](reference/swift/documentation/revuesdk/revueiniterror/licenseexpired/index.md): 憑證合法但已過期(C -25 `REVUEKIT_ERR_LICENSE_EXPIRED`) - [RevueInitError.licenseInvalid](reference/swift/documentation/revuesdk/revueiniterror/licenseinvalid/index.md): 憑證簽章不符(內容被竄改,或非本 SDK 嵌入公鑰所簽)(C -24 `REVUEKIT_ERR_LICENSE_INVALID`) - [RevueInitError.licenseMalformed](reference/swift/documentation/revuesdk/revueiniterror/licensemalformed/index.md): 憑證結構/TLV 錯誤、或檔案讀不到/沒打包(C -23 `REVUEKIT_ERR_LICENSE_MALFORMED`) - [RevueInitError.licenseMissing](reference/swift/documentation/revuesdk/revueiniterror/licensemissing/index.md): 未提供授權憑證(C -22 `REVUEKIT_ERR_LICENSE_MISSING`) - [localizedDescription](reference/swift/documentation/revuesdk/revueiniterror/localizeddescription/index.md) - [LocalizedError Implementations](reference/swift/documentation/revuesdk/revueiniterror/localizederror-implementations/index.md) - [recoverySuggestion](reference/swift/documentation/revuesdk/revueiniterror/recoverysuggestion/index.md) - [RevueInitError.waitingForDestroy](reference/swift/documentation/revuesdk/revueiniterror/waitingfordestroy/index.md): 前一次 `destroy()` 尚未完成,C instance 仍存在。 - [file](reference/swift/documentation/revuesdk/revuelogentry/file/index.md): 來源檔名(debug 用,Swift 端 helper 用 #file 自動填、C callback 給的也是絕對路徑) - [function](reference/swift/documentation/revuesdk/revuelogentry/function/index.md): 函式名 - [init(level:source:message:timestamp:file:line:function:)](reference/swift/documentation/revuesdk/revuelogentry/init%28level:source:message:timestamp:file:line:function:%29/index.md) - [level](reference/swift/documentation/revuesdk/revuelogentry/level/index.md): log 級別 - [line](reference/swift/documentation/revuesdk/revuelogentry/line/index.md): 行號 - [message](reference/swift/documentation/revuesdk/revuelogentry/message/index.md): log 訊息正文 - [source](reference/swift/documentation/revuesdk/revuelogentry/source/index.md): 模組來源(如 “revuekit” / “toxcore” / “mqtt” / “presence” / “NetworkMonitor”) - [timestamp](reference/swift/documentation/revuesdk/revuelogentry/timestamp/index.md): log 產生時間(callback 收到瞬間 / Swift 端建立瞬間) - [!=(_:_:)](reference/swift/documentation/revuesdk/revueloglevel/!=%28_:_:%29/index.md) - [...(_:)](reference/swift/documentation/revuesdk/revueloglevel/'...%28_:%29-5q4qs/index.md) - [...(_:)](reference/swift/documentation/revuesdk/revueloglevel/'...%28_:%29-hy49/index.md) - [...(_:_:)](reference/swift/documentation/revuesdk/revueloglevel/'...%28_:_:%29/index.md) - [..<(_:)](reference/swift/documentation/revuesdk/revueloglevel/'.._%28_:%29/index.md) - [..<(_:_:)](reference/swift/documentation/revuesdk/revueloglevel/'.._%28_:_:%29/index.md) - [<(_:_:)](reference/swift/documentation/revuesdk/revueloglevel/_%28_:_:%29/index.md) - [>(_:_:)](reference/swift/documentation/revuesdk/revueloglevel/_%28_:_:%29-6qhh2/index.md) - [<=(_:_:)](reference/swift/documentation/revuesdk/revueloglevel/_=%28_:_:%29-1ihl7/index.md) - [>=(_:_:)](reference/swift/documentation/revuesdk/revueloglevel/_=%28_:_:%29-1viu4/index.md) - [Comparable Implementations](reference/swift/documentation/revuesdk/revueloglevel/comparable-implementations/index.md) - [RevueLogLevel.debug](reference/swift/documentation/revuesdk/revueloglevel/debug/index.md): 除錯訊息 - [Equatable Implementations](reference/swift/documentation/revuesdk/revueloglevel/equatable-implementations/index.md) - [RevueLogLevel.error](reference/swift/documentation/revuesdk/revueloglevel/error/index.md): 錯誤 - [hash(into:)](reference/swift/documentation/revuesdk/revueloglevel/hash%28into:%29/index.md) - [hashValue](reference/swift/documentation/revuesdk/revueloglevel/hashvalue/index.md) - [RevueLogLevel.info](reference/swift/documentation/revuesdk/revueloglevel/info/index.md): 一般資訊 - [init(rawValue:)](reference/swift/documentation/revuesdk/revueloglevel/init%28rawvalue:%29/index.md) - [makeFromRawAttachmentValue(_:)](reference/swift/documentation/revuesdk/revueloglevel/makefromrawattachmentvalue%28_:%29/index.md) - [name](reference/swift/documentation/revuesdk/revueloglevel/name/index.md): 大寫名稱(如 “TRACE” / “WARNING”),方便格式化 - [rawAttachmentValueRepresentation](reference/swift/documentation/revuesdk/revueloglevel/rawattachmentvaluerepresentation/index.md) - [RawRepresentable Implementations](reference/swift/documentation/revuesdk/revueloglevel/rawrepresentable-implementations/index.md) - [RevueLogLevel.trace](reference/swift/documentation/revuesdk/revueloglevel/trace/index.md): 詳細追蹤(網路封包等) - [RevueLogLevel.warning](reference/swift/documentation/revuesdk/revueloglevel/warning/index.md): 警告 - [!=(_:_:)](reference/swift/documentation/revuesdk/revuepresenceerror/!=%28_:_:%29/index.md) - [Equatable Implementations](reference/swift/documentation/revuesdk/revuepresenceerror/equatable-implementations/index.md) - [Error Implementations](reference/swift/documentation/revuesdk/revuepresenceerror/error-implementations/index.md) - [errorDescription](reference/swift/documentation/revuesdk/revuepresenceerror/errordescription/index.md) - [failureReason](reference/swift/documentation/revuesdk/revuepresenceerror/failurereason/index.md) - [from(code:)](reference/swift/documentation/revuesdk/revuepresenceerror/from%28code:%29/index.md): Maps a `revuekit_presence_start` return code. Call it only when the code is not 0. - [helpAnchor](reference/swift/documentation/revuesdk/revuepresenceerror/helpanchor/index.md) - [RevuePresenceError.invalidConfiguration](reference/swift/documentation/revuesdk/revuepresenceerror/invalidconfiguration/index.md): `presenceQos` is outside 0…2, or the core rejected the settings, such as a broker URL with an unsupported scheme (C -2). The running connection is not affected. - [localizedDescription](reference/swift/documentation/revuesdk/revuepresenceerror/localizeddescription/index.md) - [LocalizedError Implementations](reference/swift/documentation/revuesdk/revuepresenceerror/localizederror-implementations/index.md) - [RevuePresenceError.notInitialized](reference/swift/documentation/revuesdk/revuepresenceerror/notinitialized/index.md): The SDK is not initialized, or was destroyed before the call ran (C -1 / -4). - [recoverySuggestion](reference/swift/documentation/revuesdk/revuepresenceerror/recoverysuggestion/index.md) - [RevuePresenceError.startFailed(code:)](reference/swift/documentation/revuesdk/revuepresenceerror/startfailed%28code:%29/index.md): The MQTT client could not be created or the connection request failed, leaving presence stopped. Carries the C error code for debugging. - [broadcastFinished()](reference/swift/documentation/revuesdk/revuesamplehandler/broadcastfinished%28%29/index.md) - [broadcastPaused()](reference/swift/documentation/revuesdk/revuesamplehandler/broadcastpaused%28%29/index.md) - [broadcastResumed()](reference/swift/documentation/revuesdk/revuesamplehandler/broadcastresumed%28%29/index.md) - [broadcastStarted(withSetupInfo:)](reference/swift/documentation/revuesdk/revuesamplehandler/broadcaststarted%28withsetupinfo:%29/index.md) - [connectionDidClose(error:)](reference/swift/documentation/revuesdk/revuesamplehandler/connectiondidclose%28error:%29/index.md): Override 點:Socket 連線關閉時的處理 - [enableLogging](reference/swift/documentation/revuesdk/revuesamplehandler/enablelogging/index.md): 是否啟用 log(預設 false)。啟用後輸出哪些等級由主 App 的 `Revue.setLogLevel` 決定, 分享中途改動也會套用;沒設定 App Group 時只輸出 warning 和 error。 - [init()](reference/swift/documentation/revuesdk/revuesamplehandler/init%28%29/index.md) - [processSampleBuffer(_:with:)](reference/swift/documentation/revuesdk/revuesamplehandler/processsamplebuffer%28_:with:%29/index.md) - [verboseLogging](reference/swift/documentation/revuesdk/revuesamplehandler/verboselogging/index.md): 是否啟用 verbose log(預設 false) - [activeSpeakers](reference/swift/documentation/revuesdk/room/activespeakers/index.md): 正在說話的參與者列表(依音量由大到小,含本地自己) - [allParticipants](reference/swift/documentation/revuesdk/room/allparticipants/index.md): 所有參與者(含自己) - [delegates](reference/swift/documentation/revuesdk/room/delegates/index.md): 多播代理 - [disconnectAll()](reference/swift/documentation/revuesdk/room/disconnectall%28%29/index.md): 斷開所有遠端參與者(Room 本身不消失) - [isSpeakerMuted](reference/swift/documentation/revuesdk/room/isspeakermuted/index.md): Speaker 靜音 - [localParticipant](reference/swift/documentation/revuesdk/room/localparticipant/index.md): 本地參與者(自己)— 隨 SDK 初始化就存在 - [objectWillChange](reference/swift/documentation/revuesdk/room/objectwillchange/index.md) - [ObservableObject Implementations](reference/swift/documentation/revuesdk/room/observableobject-implementations/index.md) - [participantCount](reference/swift/documentation/revuesdk/room/participantcount/index.md): 參與者總數(含自己) - [publishersCount](reference/swift/documentation/revuesdk/room/publisherscount/index.md): 正在發佈 Track 的參與者數量 - [remoteParticipants](reference/swift/documentation/revuesdk/room/remoteparticipants/index.md): 遠端參與者字典 [friendId: RemoteParticipant] - [reportStatistics](reference/swift/documentation/revuesdk/room/reportstatistics/index.md): 診斷時打開,執行期可切、不用重啟。 - [roomOutputTrack](reference/swift/documentation/revuesdk/room/roomoutputtrack/index.md): 所有遠端音訊的混音結果(外部開發者可透過 renderer 訂閱) - [shared](reference/swift/documentation/revuesdk/room/shared/index.md): 全域唯一實例 - [room(_:didUpdateSpeakingParticipants:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:didupdatespeakingparticipants:%29/index.md): 說話者列表變更(依音量由大到小,含本地自己) - [room(_:didUpdateSpeakingParticipants:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:didupdatespeakingparticipants:%29-42757/index.md) - [room(_:localParticipant:didPublishTrack:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:localparticipant:didpublishtrack:%29/index.md): 本地 Track 已發佈 - [room(_:localParticipant:didPublishTrack:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:localparticipant:didpublishtrack:%29-9wwzh/index.md) - [room(_:localParticipant:didUnpublishTrack:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:localparticipant:didunpublishtrack:%29/index.md): 本地 Track 已取消發佈 - [room(_:localParticipant:didUnpublishTrack:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:localparticipant:didunpublishtrack:%29-1ooj9/index.md) - [room(_:participant:didReceiveMessage:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participant:didreceivemessage:%29/index.md): 收到 Room 內參與者訊息 - [room(_:participant:didReceiveMessage:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participant:didreceivemessage:%29-2mm0j/index.md) - [room(_:participant:didReceiveMuteRequest:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participant:didreceivemuterequest:%29/index.md): 收到遠端靜音請求 - [room(_:participant:didReceiveMuteRequest:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participant:didreceivemuterequest:%29-7uxxy/index.md) - [room(_:participant:didSubscribeTrack:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participant:didsubscribetrack:%29/index.md): 已訂閱遠端 Track(收到對方的視訊/音訊) - [room(_:participant:didSubscribeTrack:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participant:didsubscribetrack:%29-9yp7v/index.md) - [room(_:participant:didUnsubscribeTrack:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participant:didunsubscribetrack:%29/index.md): 已取消訂閱遠端 Track - [room(_:participant:didUnsubscribeTrack:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participant:didunsubscribetrack:%29-2atky/index.md) - [room(_:participant:didUpdateConnectionQuality:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participant:didupdateconnectionquality:%29/index.md): 參與者連線品質變更(5 級:excellent / good / fair / poor / bad) - [room(_:participant:didUpdateConnectionQuality:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participant:didupdateconnectionquality:%29-8uk2t/index.md) - [room(_:participant:didUpdateName:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participant:didupdatename:%29/index.md): 參與者名稱已更新(本地或遠端) - [room(_:participant:didUpdateName:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participant:didupdatename:%29-41gz7/index.md) - [room(_:participant:didUpdatePaths:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participant:didupdatepaths:%29/index.md): 參與者連線路徑變更(FriendConnectionPaths bitmap) - [room(_:participant:didUpdatePaths:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participant:didupdatepaths:%29-93yo9/index.md) - [room(_:participant:didUpdateStatus:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participant:didupdatestatus:%29/index.md): 參與者使用者狀態已更新(本地或遠端) - [room(_:participant:didUpdateStatus:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participant:didupdatestatus:%29-80bfi/index.md) - [room(_:participant:didUpdateStatusMessage:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participant:didupdatestatusmessage:%29/index.md): 參與者狀態訊息已更新(本地或遠端);被清空時 `message` 為 nil - [room(_:participant:didUpdateStatusMessage:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participant:didupdatestatusmessage:%29-6b34k/index.md) - [room(_:participant:trackPublication:didUpdateIsMuted:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participant:trackpublication:didupdateismuted:%29/index.md): Track 靜音狀態變更 - [room(_:participant:trackPublication:didUpdateIsMuted:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participant:trackpublication:didupdateismuted:%29-29dj4/index.md) - [room(_:participant:trackPublication:didUpdateStatistics:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participant:trackpublication:didupdatestatistics:%29/index.md): Track 診斷統計更新(每秒一次,僅 `reportStatistics == true` 時 fire、且有變化才 fire)。 與 `ParticipantDelegate.didUpdateStatistics` 雙 fire、與 `@Published track.statistics` 同源。 - [room(_:participant:trackPublication:didUpdateStatistics:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participant:trackpublication:didupdatestatistics:%29-3iqkz/index.md) - [room(_:participantDidConnect:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participantdidconnect:%29/index.md): 參與者加入房間(對方接受邀請後 fire) - [room(_:participantDidConnect:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participantdidconnect:%29-2zkfu/index.md) - [room(_:participantDidDisconnect:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participantdiddisconnect:%29/index.md): 參與者離開房間 - [room(_:participantDidDisconnect:)](reference/swift/documentation/revuesdk/roomdelegate/room%28_:participantdiddisconnect:%29-2zdap/index.md) - [RoomError.alreadyConnected](reference/swift/documentation/revuesdk/roomerror/alreadyconnected/index.md): 已在房間中(重複 connect) - [RoomError.alreadyRecording](reference/swift/documentation/revuesdk/roomerror/alreadyrecording/index.md): 已在錄影中 - [RoomError.audioPublicationAlreadyExists(friendId:)](reference/swift/documentation/revuesdk/roomerror/audiopublicationalreadyexists%28friendid:%29/index.md): 該好友的 audio 單流名額已佔(同一好友同時只能有一道 audio 發佈) - [RoomError.broadcastExtensionNotConfigured](reference/swift/documentation/revuesdk/roomerror/broadcastextensionnotconfigured/index.md): Broadcast Extension 未設定 - [RoomError.callAlreadyActive](reference/swift/documentation/revuesdk/roomerror/callalreadyactive/index.md): 通話已在進行中 - [RoomError.callNotConnected](reference/swift/documentation/revuesdk/roomerror/callnotconnected/index.md): 無法撥打(未連線) - [RoomError.callRejected](reference/swift/documentation/revuesdk/roomerror/callrejected/index.md): 通話被對方拒絕 - [RoomError.callTimeout](reference/swift/documentation/revuesdk/roomerror/calltimeout/index.md): 通話超時未接 - [RoomError.cameraAccessDenied](reference/swift/documentation/revuesdk/roomerror/cameraaccessdenied/index.md): 相機存取被拒 - [RoomError.cameraDeviceNotFound](reference/swift/documentation/revuesdk/roomerror/cameradevicenotfound/index.md): 相機裝置找不到 - [RoomError.cancelled](reference/swift/documentation/revuesdk/roomerror/cancelled/index.md): 操作被取消 - [RoomError.capturerNotReady](reference/swift/documentation/revuesdk/roomerror/capturernotready/index.md): 擷取器尚未準備好 - [RoomError.codecNotSupported(codec:)](reference/swift/documentation/revuesdk/roomerror/codecnotsupported%28codec:%29/index.md): 不支援的 Codec - [RoomError.connectionFailed(reason:)](reference/swift/documentation/revuesdk/roomerror/connectionfailed%28reason:%29/index.md): 連線失敗 - [RoomError.dataPublishFailed(reason:)](reference/swift/documentation/revuesdk/roomerror/datapublishfailed%28reason:%29/index.md): 資料發送失敗 - [RoomError.disconnected](reference/swift/documentation/revuesdk/roomerror/disconnected/index.md): 已斷線(操作需要連線狀態) - [Error Implementations](reference/swift/documentation/revuesdk/roomerror/error-implementations/index.md) - [errorDescription](reference/swift/documentation/revuesdk/roomerror/errordescription/index.md) - [failureReason](reference/swift/documentation/revuesdk/roomerror/failurereason/index.md) - [helpAnchor](reference/swift/documentation/revuesdk/roomerror/helpanchor/index.md) - [RoomError.initializationFailed(reason:)](reference/swift/documentation/revuesdk/roomerror/initializationfailed%28reason:%29/index.md): SDK 初始化失敗 - [RoomError.insufficientStorage](reference/swift/documentation/revuesdk/roomerror/insufficientstorage/index.md): 儲存空間不足 - [RoomError.invalidFriendId](reference/swift/documentation/revuesdk/roomerror/invalidfriendid/index.md): 無效的 Friend ID - [RoomError.invalidParameter(name:reason:)](reference/swift/documentation/revuesdk/roomerror/invalidparameter%28name:reason:%29/index.md): 無效參數 - [localizedDescription](reference/swift/documentation/revuesdk/roomerror/localizeddescription/index.md) - [LocalizedError Implementations](reference/swift/documentation/revuesdk/roomerror/localizederror-implementations/index.md) - [RoomError.mediaInitializationFailed(reason:)](reference/swift/documentation/revuesdk/roomerror/mediainitializationfailed%28reason:%29/index.md): 媒體初始化失敗 - [RoomError.microphoneAccessDenied](reference/swift/documentation/revuesdk/roomerror/microphoneaccessdenied/index.md): 麥克風存取被拒 - [RoomError.networkError(underlying:)](reference/swift/documentation/revuesdk/roomerror/networkerror%28underlying:%29/index.md): 網路錯誤 - [RoomError.noIncomingCall](reference/swift/documentation/revuesdk/roomerror/noincomingcall/index.md): 無來電可接聽 - [RoomError.notInitialized](reference/swift/documentation/revuesdk/roomerror/notinitialized/index.md): SDK 尚未初始化 - [RoomError.notRecording](reference/swift/documentation/revuesdk/roomerror/notrecording/index.md): 未在錄影中 - [RoomError.publishNotAllowed](reference/swift/documentation/revuesdk/roomerror/publishnotallowed/index.md): 無發佈權限 - [RoomError.reconnectionFailed](reference/swift/documentation/revuesdk/roomerror/reconnectionfailed/index.md): 重連失敗 - [RoomError.recordingWriteFailed(reason:)](reference/swift/documentation/revuesdk/roomerror/recordingwritefailed%28reason:%29/index.md): 錄影寫入失敗 - [recoverySuggestion](reference/swift/documentation/revuesdk/roomerror/recoverysuggestion/index.md) - [RoomError.roomFull](reference/swift/documentation/revuesdk/roomerror/roomfull/index.md): 房間已滿 - [RoomError.roomNotFound(roomId:)](reference/swift/documentation/revuesdk/roomerror/roomnotfound%28roomid:%29/index.md): 房間不存在 - [RoomError.rpcMethodNotFound(method:)](reference/swift/documentation/revuesdk/roomerror/rpcmethodnotfound%28method:%29/index.md): RPC 方法未註冊 - [RoomError.rpcTimeout(method:)](reference/swift/documentation/revuesdk/roomerror/rpctimeout%28method:%29/index.md): RPC 呼叫逾時 - [RoomError.screenShareDenied](reference/swift/documentation/revuesdk/roomerror/screensharedenied/index.md): 螢幕分享被使用者拒絕 - [RoomError.screenShareSystemRestriction](reference/swift/documentation/revuesdk/roomerror/screensharesystemrestriction/index.md): 螢幕分享被系統限制 - [RoomError.subscribeNotAllowed](reference/swift/documentation/revuesdk/roomerror/subscribenotallowed/index.md): 無訂閱權限 - [RoomError.timedOut](reference/swift/documentation/revuesdk/roomerror/timedout/index.md): 連線逾時 - [RoomError.trackAlreadyPublished](reference/swift/documentation/revuesdk/roomerror/trackalreadypublished/index.md): Track 已發佈(重複 publish) - [RoomError.trackNotPublished](reference/swift/documentation/revuesdk/roomerror/tracknotpublished/index.md): Track 未發佈(unpublish 一個沒發佈的 Track) - [RoomError.unknown(reason:)](reference/swift/documentation/revuesdk/roomerror/unknown%28reason:%29/index.md): 未知錯誤 - [RoomError.videoPublicationAlreadyExists(friendId:)](reference/swift/documentation/revuesdk/roomerror/videopublicationalreadyexists%28friendid:%29/index.md): 該好友的 video 單流名額已佔(同一好友同時只能有一道 video 發佈) - [RoomMessageError.encodingFailed](reference/swift/documentation/revuesdk/roommessageerror/encodingfailed/index.md): JSON envelope 編碼失敗 - [Error Implementations](reference/swift/documentation/revuesdk/roommessageerror/error-implementations/index.md) - [errorDescription](reference/swift/documentation/revuesdk/roommessageerror/errordescription/index.md) - [failureReason](reference/swift/documentation/revuesdk/roommessageerror/failurereason/index.md) - [helpAnchor](reference/swift/documentation/revuesdk/roommessageerror/helpanchor/index.md) - [localizedDescription](reference/swift/documentation/revuesdk/roommessageerror/localizeddescription/index.md) - [LocalizedError Implementations](reference/swift/documentation/revuesdk/roommessageerror/localizederror-implementations/index.md) - [RoomMessageError.messageTooLong(size:maxSize:)](reference/swift/documentation/revuesdk/roommessageerror/messagetoolong%28size:maxsize:%29/index.md): envelope 總長超過 toxcore 單筆上限 - [recoverySuggestion](reference/swift/documentation/revuesdk/roommessageerror/recoverysuggestion/index.md) - [RoomMessageError.transportFailed(underlying:)](reference/swift/documentation/revuesdk/roommessageerror/transportfailed%28underlying:%29/index.md): 底層 FriendManager 失敗,原樣封裝 - [RoomMessageError.unsupportedSource(_:)](reference/swift/documentation/revuesdk/roommessageerror/unsupportedsource%28_:%29/index.md): `LocalParticipant.set(source:enabled:)` 收到不支援的 source 值 (例如 `.unknown` / `.screenShareAudio` 等本 API 未涵蓋的來源) - [appAudio](reference/swift/documentation/revuesdk/screensharecaptureoptions/appaudio/index.md): 是否擷取 App 音訊(預設 false) Broadcast 模式:使用者切到別的 App 時、可擷取那個 App 的音訊 - [defaultToBroadcastExtension](reference/swift/documentation/revuesdk/screensharecaptureoptions/defaulttobroadcastextension/index.md): 靜態動態偵測:App 是否配了 Broadcast Extension iOS:由 `BroadcastBundleInfo.hasExtension` 動態算出 macOS:一律 false - [dimensions](reference/swift/documentation/revuesdk/screensharecaptureoptions/dimensions/index.md): ⚠️ **iOS 為宣告性 hint、不生效**:iOS 螢幕分享(ReplayKit / in-app)走 buffer 注入, frame 原尺寸直通,實際尺寸以擷取到的畫面為準。 macOS(ScreenCaptureKit)未來實作時,此值會作為 aspectFit 縮放上限生效 - [displayId](reference/swift/documentation/revuesdk/screensharecaptureoptions/displayid/index.md): 指定螢幕 ID(macOS 專屬) TODO(macOS): macOS 多螢幕支援用;iOS 一律 nil - [excludeWindowIDs](reference/swift/documentation/revuesdk/screensharecaptureoptions/excludewindowids/index.md): 排除視窗 ID(macOS 專屬) - [fps](reference/swift/documentation/revuesdk/screensharecaptureoptions/fps/index.md): ⚠️ **iOS 為宣告性 hint**:實際幀率由系統擷取回調頻率決定。macOS ScreenCaptureKit 未來實作時會用此值設 `SCStreamConfiguration.minimumFrameInterval`。 - [includeCurrentApplication](reference/swift/documentation/revuesdk/screensharecaptureoptions/includecurrentapplication/index.md): 是否包含自己 App 畫面(macOS 專屬、預設 true) - [init(dimensions:fps:showCursor:appAudio:useBroadcastExtension:includeCurrentApplication:excludeWindowIDs:displayId:)](reference/swift/documentation/revuesdk/screensharecaptureoptions/init%28dimensions:fps:showcursor:appaudio:usebroadcastextension:includecurrentapplication:excludewindowids:displayid:%29/index.md) - [showCursor](reference/swift/documentation/revuesdk/screensharecaptureoptions/showcursor/index.md): 是否顯示游標(macOS 專屬、預設 true) - [useBroadcastExtension](reference/swift/documentation/revuesdk/screensharecaptureoptions/usebroadcastextension/index.md): 是否使用 Broadcast Extension(iOS) 預設由 `defaultToBroadcastExtension` 靜態偵測「App 有沒有配 Extension」決定 - [Error Implementations](reference/swift/documentation/revuesdk/screenshareerror/error-implementations/index.md) - [ScreenShareError.extensionLaunchFailed(underlying:)](reference/swift/documentation/revuesdk/screenshareerror/extensionlaunchfailed%28underlying:%29/index.md): Broadcast Extension 啟動失敗 - [ScreenShareError.extensionNotConfigured](reference/swift/documentation/revuesdk/screenshareerror/extensionnotconfigured/index.md): 想走 Broadcast 但 App 沒配 Extension (這是防禦性檢查、正常流程 `defaultToBroadcastExtension` 會 fallback 到 In-app) - [ScreenShareError.ipcConnectionFailed(underlying:)](reference/swift/documentation/revuesdk/screenshareerror/ipcconnectionfailed%28underlying:%29/index.md): Unix Socket 連線失敗 - [localizedDescription](reference/swift/documentation/revuesdk/screenshareerror/localizeddescription/index.md) - [ScreenShareError.notImplemented(feature:plannedVersion:)](reference/swift/documentation/revuesdk/screenshareerror/notimplemented%28feature:plannedversion:%29/index.md): 功能尚未實作(例如 macOS ScreenCaptureKit) - [ScreenShareError.notInRoom](reference/swift/documentation/revuesdk/screenshareerror/notinroom/index.md): 未在通話中 - [ScreenShareError.systemDenied](reference/swift/documentation/revuesdk/screenshareerror/systemdenied/index.md): 使用者拒絕螢幕錄影權限(In-app 模式) - [ScreenShareError.userCancelled](reference/swift/documentation/revuesdk/screenshareerror/usercancelled/index.md): 使用者取消系統對話框(Broadcast picker / In-app 螢幕錄影權限) - [changeSavedataPassword(path:oldPassword:newPassword:)](reference/swift/documentation/revuesdk/securitymanager/changesavedatapassword%28path:oldpassword:newpassword:%29/index.md) - [getFriendFingerprint(friendId:)](reference/swift/documentation/revuesdk/securitymanager/getfriendfingerprint%28friendid:%29/index.md) - [getFriendRevueKitSessionInfo(friendId:)](reference/swift/documentation/revuesdk/securitymanager/getfriendrevuekitsessioninfo%28friendid:%29/index.md) - [getRevueKitCryptoInfo()](reference/swift/documentation/revuesdk/securitymanager/getrevuekitcryptoinfo%28%29/index.md) - [isSavedataEncrypted(path:)](reference/swift/documentation/revuesdk/securitymanager/issavedataencrypted%28path:%29/index.md) - [verifySafetyNumber(friendId:expected:)](reference/swift/documentation/revuesdk/securitymanager/verifysafetynumber%28friendid:expected:%29/index.md) - [!=(_:_:)](reference/swift/documentation/revuesdk/selfconnectionstatus/!=%28_:_:%29/index.md) - [Equatable Implementations](reference/swift/documentation/revuesdk/selfconnectionstatus/equatable-implementations/index.md) - [hash(into:)](reference/swift/documentation/revuesdk/selfconnectionstatus/hash%28into:%29/index.md) - [hashValue](reference/swift/documentation/revuesdk/selfconnectionstatus/hashvalue/index.md) - [init(rawValue:)](reference/swift/documentation/revuesdk/selfconnectionstatus/init%28rawvalue:%29/index.md) - [makeFromRawAttachmentValue(_:)](reference/swift/documentation/revuesdk/selfconnectionstatus/makefromrawattachmentvalue%28_:%29/index.md) - [SelfConnectionStatus.offline](reference/swift/documentation/revuesdk/selfconnectionstatus/offline/index.md): 離線(無法連接任何 DHT 節點) - [rawAttachmentValueRepresentation](reference/swift/documentation/revuesdk/selfconnectionstatus/rawattachmentvaluerepresentation/index.md) - [RawRepresentable Implementations](reference/swift/documentation/revuesdk/selfconnectionstatus/rawrepresentable-implementations/index.md) - [SelfConnectionStatus.tcp](reference/swift/documentation/revuesdk/selfconnectionstatus/tcp/index.md): TCP 連線(透過 TCP Relay 連接) - [SelfConnectionStatus.udp](reference/swift/documentation/revuesdk/selfconnectionstatus/udp/index.md): UDP 連線(直接 DHT 連接,最佳) - [aspectRatio](reference/swift/documentation/revuesdk/track/aspectratio/index.md): 寬高比(僅 video Track 有值) - [cameraName](reference/swift/documentation/revuesdk/track/cameraname/index.md) - [delegates](reference/swift/documentation/revuesdk/track/delegates/index.md): 軌道事件代理(`TrackDelegate`):mute 翻轉等軌道本身的事件,在 main thread 觸發。 - [dimensions](reference/swift/documentation/revuesdk/track/dimensions/index.md): 視訊解析度(僅 video Track 有值) - [id](reference/swift/documentation/revuesdk/track/id/index.md) - [isMuted](reference/swift/documentation/revuesdk/track/ismuted/index.md): 是否靜音(軌道層:資料有沒有在流,所有接收者一起受影響) - [!=(_:_:)](reference/swift/documentation/revuesdk/track/kind-swift.enum/!=%28_:_:%29/index.md) - [Track.Kind.audio](reference/swift/documentation/revuesdk/track/kind-swift.enum/audio/index.md) - [Equatable Implementations](reference/swift/documentation/revuesdk/track/kind-swift.enum/equatable-implementations/index.md) - [hash(into:)](reference/swift/documentation/revuesdk/track/kind-swift.enum/hash%28into:%29/index.md) - [hashValue](reference/swift/documentation/revuesdk/track/kind-swift.enum/hashvalue/index.md) - [init(rawValue:)](reference/swift/documentation/revuesdk/track/kind-swift.enum/init%28rawvalue:%29/index.md) - [makeFromRawAttachmentValue(_:)](reference/swift/documentation/revuesdk/track/kind-swift.enum/makefromrawattachmentvalue%28_:%29/index.md) - [rawAttachmentValueRepresentation](reference/swift/documentation/revuesdk/track/kind-swift.enum/rawattachmentvaluerepresentation/index.md) - [RawRepresentable Implementations](reference/swift/documentation/revuesdk/track/kind-swift.enum/rawrepresentable-implementations/index.md) - [Track.Kind.video](reference/swift/documentation/revuesdk/track/kind-swift.enum/video/index.md) - [kind](reference/swift/documentation/revuesdk/track/kind-swift.property/index.md): Track 種類(audio / video) - [microphoneName](reference/swift/documentation/revuesdk/track/microphonename/index.md) - [name](reference/swift/documentation/revuesdk/track/name/index.md): Track 名稱 - [objectWillChange](reference/swift/documentation/revuesdk/track/objectwillchange/index.md) - [ObservableObject Implementations](reference/swift/documentation/revuesdk/track/observableobject-implementations/index.md) - [screenShareAudioName](reference/swift/documentation/revuesdk/track/screenshareaudioname/index.md) - [screenShareVideoName](reference/swift/documentation/revuesdk/track/screensharevideoname/index.md) - [sid](reference/swift/documentation/revuesdk/track/sid/index.md): Track Session ID - [!=(_:_:)](reference/swift/documentation/revuesdk/track/source-swift.enum/!=%28_:_:%29/index.md) - [Track.Source.camera](reference/swift/documentation/revuesdk/track/source-swift.enum/camera/index.md) - [Equatable Implementations](reference/swift/documentation/revuesdk/track/source-swift.enum/equatable-implementations/index.md) - [hash(into:)](reference/swift/documentation/revuesdk/track/source-swift.enum/hash%28into:%29/index.md) - [hashValue](reference/swift/documentation/revuesdk/track/source-swift.enum/hashvalue/index.md) - [init(rawValue:)](reference/swift/documentation/revuesdk/track/source-swift.enum/init%28rawvalue:%29/index.md) - [makeFromRawAttachmentValue(_:)](reference/swift/documentation/revuesdk/track/source-swift.enum/makefromrawattachmentvalue%28_:%29/index.md) - [Track.Source.microphone](reference/swift/documentation/revuesdk/track/source-swift.enum/microphone/index.md) - [rawAttachmentValueRepresentation](reference/swift/documentation/revuesdk/track/source-swift.enum/rawattachmentvaluerepresentation/index.md) - [RawRepresentable Implementations](reference/swift/documentation/revuesdk/track/source-swift.enum/rawrepresentable-implementations/index.md) - [Track.Source.screenShareAudio](reference/swift/documentation/revuesdk/track/source-swift.enum/screenshareaudio/index.md) - [Track.Source.screenShareVideo](reference/swift/documentation/revuesdk/track/source-swift.enum/screensharevideo/index.md) - [Track.Source.unknown](reference/swift/documentation/revuesdk/track/source-swift.enum/unknown/index.md) - [source](reference/swift/documentation/revuesdk/track/source-swift.property/index.md): Track 來源(camera / microphone / screenShare) - [statistics](reference/swift/documentation/revuesdk/track/statistics/index.md): Track 連線診斷統計(每秒由 `Room` 採集 timer 更新) - [!=(_:_:)](reference/swift/documentation/revuesdk/track/trackstate-swift.enum/!=%28_:_:%29/index.md) - [Equatable Implementations](reference/swift/documentation/revuesdk/track/trackstate-swift.enum/equatable-implementations/index.md) - [hash(into:)](reference/swift/documentation/revuesdk/track/trackstate-swift.enum/hash%28into:%29/index.md) - [hashValue](reference/swift/documentation/revuesdk/track/trackstate-swift.enum/hashvalue/index.md) - [init(rawValue:)](reference/swift/documentation/revuesdk/track/trackstate-swift.enum/init%28rawvalue:%29/index.md) - [makeFromRawAttachmentValue(_:)](reference/swift/documentation/revuesdk/track/trackstate-swift.enum/makefromrawattachmentvalue%28_:%29/index.md) - [rawAttachmentValueRepresentation](reference/swift/documentation/revuesdk/track/trackstate-swift.enum/rawattachmentvaluerepresentation/index.md) - [RawRepresentable Implementations](reference/swift/documentation/revuesdk/track/trackstate-swift.enum/rawrepresentable-implementations/index.md) - [Track.TrackState.started](reference/swift/documentation/revuesdk/track/trackstate-swift.enum/started/index.md) - [Track.TrackState.stopped](reference/swift/documentation/revuesdk/track/trackstate-swift.enum/stopped/index.md) - [trackState](reference/swift/documentation/revuesdk/track/trackstate-swift.property/index.md): 當前狀態 - [track(_:didUpdateIsMuted:)](reference/swift/documentation/revuesdk/trackdelegate/track%28_:didupdateismuted:%29/index.md): 軌道的 `isMuted` 翻轉時觸發一次(與這條軌道發布給幾個人無關)。 - [track(_:didUpdateIsMuted:)](reference/swift/documentation/revuesdk/trackdelegate/track%28_:didupdateismuted:%29-4dw94/index.md) - [dimensions](reference/swift/documentation/revuesdk/trackpublication/dimensions/index.md): 解析度(僅 video) - [id](reference/swift/documentation/revuesdk/trackpublication/id/index.md) - [isMuted](reference/swift/documentation/revuesdk/trackpublication/ismuted/index.md): 是否靜音 - [isSubscribed](reference/swift/documentation/revuesdk/trackpublication/issubscribed/index.md): P2P 沒有伺服器可以允許或拒絕訂閱:本地 publication 在發布時就有 track, 遠端 publication 在收到宣告時與 track 一起建立,所以拿得到的 publication 都是 true; track 清掉後回 false。只由 `track` 的 `didSet` 更新,不另外寫入。 - [kind](reference/swift/documentation/revuesdk/trackpublication/kind/index.md): Track 種類 - [mimeType](reference/swift/documentation/revuesdk/trackpublication/mimetype/index.md): 使用中的編碼格式(`"video/VP8"`、`"video/H264"`、`"audio/opus"`) - [name](reference/swift/documentation/revuesdk/trackpublication/name/index.md): Track 名稱 - [objectWillChange](reference/swift/documentation/revuesdk/trackpublication/objectwillchange/index.md) - [ObservableObject Implementations](reference/swift/documentation/revuesdk/trackpublication/observableobject-implementations/index.md) - [sid](reference/swift/documentation/revuesdk/trackpublication/sid/index.md): Publication Session ID - [source](reference/swift/documentation/revuesdk/trackpublication/source/index.md): Track 來源 - [track](reference/swift/documentation/revuesdk/trackpublication/track/index.md): 對應的 Track 物件 - [audioTrack](reference/swift/documentation/revuesdk/trackrecorder/audiotrack/index.md): 要錄製的 AudioTrack(nil = 只錄視訊無聲) - [availableDiskSpace()](reference/swift/documentation/revuesdk/trackrecorder/availablediskspace%28%29/index.md): 查詢當前可用磁碟空間(bytes) - [deleteAllRecordings()](reference/swift/documentation/revuesdk/trackrecorder/deleteallrecordings%28%29/index.md): 刪除所有錄影檔 - [deleteRecording(at:)](reference/swift/documentation/revuesdk/trackrecorder/deleterecording%28at:%29/index.md): 刪除指定路徑的錄影檔 - [deleteRecording(fileId:)](reference/swift/documentation/revuesdk/trackrecorder/deleterecording%28fileid:%29/index.md): 刪除指定錄影檔(by ID) - [diskSpaceCriticalThreshold](reference/swift/documentation/revuesdk/trackrecorder/diskspacecriticalthreshold/index.md): 磁碟空間臨界閾值(預設 50 MB) - [diskSpaceWarning](reference/swift/documentation/revuesdk/trackrecorder/diskspacewarning/index.md): 磁碟空間警告事件(Task 3 實作) - [diskSpaceWarningThreshold](reference/swift/documentation/revuesdk/trackrecorder/diskspacewarningthreshold/index.md): 磁碟空間警告閾值(預設 100 MB) - [getRecordingList()](reference/swift/documentation/revuesdk/trackrecorder/getrecordinglist%28%29/index.md): 取得所有錄影檔列表 - [init(videoTrack:audioTrack:videoFps:videoSize:)](reference/swift/documentation/revuesdk/trackrecorder/init%28videotrack:audiotrack:videofps:videosize:%29/index.md): 建立 TrackRecorder - [isRecording](reference/swift/documentation/revuesdk/trackrecorder/isrecording/index.md): 是否錄影中(便捷屬性) - [lastError](reference/swift/documentation/revuesdk/trackrecorder/lasterror/index.md): 錄影中途錯誤(Task 4 實作) 開始時的錯誤走 `startRecording` throws,這裡只處理錄影過程中的非同步錯誤 - [lastFinishedFile](reference/swift/documentation/revuesdk/trackrecorder/lastfinishedfile/index.md): 最近一次寫完的錄影檔(finalize 完成才設值) - [objectWillChange](reference/swift/documentation/revuesdk/trackrecorder/objectwillchange/index.md) - [ObservableObject Implementations](reference/swift/documentation/revuesdk/trackrecorder/observableobject-implementations/index.md) - [pauseRecording()](reference/swift/documentation/revuesdk/trackrecorder/pauserecording%28%29/index.md): 暫停錄影 - [recordingsDirectory](reference/swift/documentation/revuesdk/trackrecorder/recordingsdirectory/index.md): 錄影檔存放目錄(Documents/Recordings/) - [resumeRecording()](reference/swift/documentation/revuesdk/trackrecorder/resumerecording%28%29/index.md): 繼續錄影 - [startRecording(fileName:)](reference/swift/documentation/revuesdk/trackrecorder/startrecording%28filename:%29/index.md): 開始錄影 - [state](reference/swift/documentation/revuesdk/trackrecorder/state/index.md): 錄影狀態(轉發 engine.state) - [stopRecording(completion:)](reference/swift/documentation/revuesdk/trackrecorder/stoprecording%28completion:%29/index.md): 停止錄影(engine 在背景 finalize,不阻塞呼叫端) - [videoTrack](reference/swift/documentation/revuesdk/trackrecorder/videotrack/index.md): 要錄製的 VideoTrack(nil = 只錄音訊) - [!=(_:_:)](reference/swift/documentation/revuesdk/trackstatistics/!=%28_:_:%29/index.md) - [codec](reference/swift/documentation/revuesdk/trackstatistics/codec/index.md) - [Equatable Implementations](reference/swift/documentation/revuesdk/trackstatistics/equatable-implementations/index.md) - [iceCandidatePair](reference/swift/documentation/revuesdk/trackstatistics/icecandidatepair/index.md) - [inboundRtp](reference/swift/documentation/revuesdk/trackstatistics/inboundrtp/index.md) - [outboundRtp](reference/swift/documentation/revuesdk/trackstatistics/outboundrtp/index.md) - [videoSource](reference/swift/documentation/revuesdk/trackstatistics/videosource/index.md) - [!=(_:_:)](reference/swift/documentation/revuesdk/userstatus/!=%28_:_:%29/index.md) - [UserStatus.away](reference/swift/documentation/revuesdk/userstatus/away/index.md): 離開 - [UserStatus.busy](reference/swift/documentation/revuesdk/userstatus/busy/index.md): 忙碌 - [Equatable Implementations](reference/swift/documentation/revuesdk/userstatus/equatable-implementations/index.md) - [hash(into:)](reference/swift/documentation/revuesdk/userstatus/hash%28into:%29/index.md) - [hashValue](reference/swift/documentation/revuesdk/userstatus/hashvalue/index.md) - [init(rawValue:)](reference/swift/documentation/revuesdk/userstatus/init%28rawvalue:%29/index.md) - [makeFromRawAttachmentValue(_:)](reference/swift/documentation/revuesdk/userstatus/makefromrawattachmentvalue%28_:%29/index.md) - [UserStatus.none](reference/swift/documentation/revuesdk/userstatus/none/index.md): 在線(預設) - [rawAttachmentValueRepresentation](reference/swift/documentation/revuesdk/userstatus/rawattachmentvaluerepresentation/index.md) - [RawRepresentable Implementations](reference/swift/documentation/revuesdk/userstatus/rawrepresentable-implementations/index.md) - [captureState](reference/swift/documentation/revuesdk/videocapturer/capturestate/index.md): 擷取器狀態 - [delegates](reference/swift/documentation/revuesdk/videocapturer/delegates/index.md): 事件訂閱者(weak 參照,物件釋放即自動移除) - [dimensions](reference/swift/documentation/revuesdk/videocapturer/dimensions/index.md): 當前實際解析度(採集/注入的真實尺寸,非設定值) - [startCapture()](reference/swift/documentation/revuesdk/videocapturer/startcapture%28%29/index.md): 啟動擷取(子類別必須覆寫) - [stopCapture()](reference/swift/documentation/revuesdk/videocapturer/stopcapture%28%29/index.md): 停止擷取(子類別必須覆寫) - [capturer(_:didDowngradeResolution:to:)](reference/swift/documentation/revuesdk/videocapturerdelegate/capturer%28_:diddowngraderesolution:to:%29/index.md): 採集格式**無法滿足要求的解析度** —— 於挑選格式當下判定。 - [capturer(_:didDowngradeResolution:to:)](reference/swift/documentation/revuesdk/videocapturerdelegate/capturer%28_:diddowngraderesolution:to:%29-3shkx/index.md) - [capturer(_:didUpdate:)](reference/swift/documentation/revuesdk/videocapturerdelegate/capturer%28_:didupdate:%29-1u26s/index.md) - [capturer(_:didUpdate:)](reference/swift/documentation/revuesdk/videocapturerdelegate/capturer%28_:didupdate:%29-4ppoi/index.md): 實際採集解析度已變更 - [capturer(_:didUpdate:)](reference/swift/documentation/revuesdk/videocapturerdelegate/capturer%28_:didupdate:%29-6una/index.md) - [capturer(_:didUpdate:)](reference/swift/documentation/revuesdk/videocapturerdelegate/capturer%28_:didupdate:%29-81wu6/index.md): 擷取狀態已變更(idle / capturing / error) - [VideoCodec.h264(_:)](reference/swift/documentation/revuesdk/videocodec/h264%28_:%29/index.md): H.264 — 走外部硬體編碼(VideoToolbox),輸出 Annex B 送給 `send_frame_encoded` - [h264Default](reference/swift/documentation/revuesdk/videocodec/h264default/index.md): H.264 + 預設 bitrate(3 Mbps) - [type](reference/swift/documentation/revuesdk/videocodec/type/index.md): 取出 codec type(忽略 associated encoding),用於 map key / 比對 codec 類型 - [VideoCodec.vp8(_:)](reference/swift/documentation/revuesdk/videocodec/vp8%28_:%29/index.md): VP8 — 走 revuekit-c 內部軟體編碼,raw YUV 送給 `send_frame` - [vp8AllKeyframe](reference/swift/documentation/revuesdk/videocodec/vp8allkeyframe/index.md): VP8 + 全 keyframe(每幀都是完整畫面、不破圖) - [vp8HighQuality](reference/swift/documentation/revuesdk/videocodec/vp8highquality/index.md): VP8 + 高畫質 preset(對應 C 層 `apply_high_quality_mode`) - [vp8LowBandwidth](reference/swift/documentation/revuesdk/videocodec/vp8lowbandwidth/index.md): VP8 + 弱網優先 preset(對應 C 層 `apply_low_bandwidth_mode`) - [vp8LowLatency](reference/swift/documentation/revuesdk/videocodec/vp8lowlatency/index.md): VP8 + 低延遲 preset(對應 C 層 `apply_low_latency_mode`) - [!=(_:_:)](reference/swift/documentation/revuesdk/videocodectype/!=%28_:_:%29/index.md) - [Equatable Implementations](reference/swift/documentation/revuesdk/videocodectype/equatable-implementations/index.md) - [VideoCodecType.h264](reference/swift/documentation/revuesdk/videocodectype/h264/index.md) - [hash(into:)](reference/swift/documentation/revuesdk/videocodectype/hash%28into:%29/index.md) - [hashValue](reference/swift/documentation/revuesdk/videocodectype/hashvalue/index.md) - [init(rawValue:)](reference/swift/documentation/revuesdk/videocodectype/init%28rawvalue:%29/index.md) - [makeFromRawAttachmentValue(_:)](reference/swift/documentation/revuesdk/videocodectype/makefromrawattachmentvalue%28_:%29/index.md) - [rawAttachmentValueRepresentation](reference/swift/documentation/revuesdk/videocodectype/rawattachmentvaluerepresentation/index.md) - [RawRepresentable Implementations](reference/swift/documentation/revuesdk/videocodectype/rawrepresentable-implementations/index.md) - [VideoCodecType.vp8](reference/swift/documentation/revuesdk/videocodectype/vp8/index.md) - [currentTemplate](reference/swift/documentation/revuesdk/videocompositor/currenttemplate/index.md): 當前模板(唯讀) - [fps](reference/swift/documentation/revuesdk/videocompositor/fps/index.md): 合成幀率(預設 30 FPS) - [getTemplate()](reference/swift/documentation/revuesdk/videocompositor/gettemplate%28%29/index.md): 取得當前模板 - [init()](reference/swift/documentation/revuesdk/videocompositor/init%28%29/index.md) - [isRunning](reference/swift/documentation/revuesdk/videocompositor/isrunning/index.md): 合成器是否運行中(唯讀) - [objectWillChange](reference/swift/documentation/revuesdk/videocompositor/objectwillchange/index.md) - [ObservableObject Implementations](reference/swift/documentation/revuesdk/videocompositor/observableobject-implementations/index.md) - [outputTrack](reference/swift/documentation/revuesdk/videocompositor/outputtrack/index.md): 合成輸出 Track(用於本地預覽或發布) - [resolutionSize](reference/swift/documentation/revuesdk/videocompositor/resolutionsize/index.md): 合成輸出解析度(預設 1280×720) 合成解析度 = 發送解析度,不做額外縮放 - [setTemplate(_:)](reference/swift/documentation/revuesdk/videocompositor/settemplate%28_:%29/index.md): 設定合成模板 - [start()](reference/swift/documentation/revuesdk/videocompositor/start%28%29/index.md): 啟動合成器 - [stop()](reference/swift/documentation/revuesdk/videocompositor/stop%28%29/index.md): 停止合成器,釋放所有資源 - [!=(_:_:)](reference/swift/documentation/revuesdk/videocontentmode/!=%28_:_:%29/index.md) - [Equatable Implementations](reference/swift/documentation/revuesdk/videocontentmode/equatable-implementations/index.md) - [VideoContentMode.fill](reference/swift/documentation/revuesdk/videocontentmode/fill/index.md): 填滿 slot,超出部分裁切(預設,等同 UIView.contentMode.scaleAspectFill) - [VideoContentMode.fit](reference/swift/documentation/revuesdk/videocontentmode/fit/index.md): 縮放至完整顯示,不足部分留黑邊(等同 UIView.contentMode.scaleAspectFit) - [process(pixelBuffer:)](reference/swift/documentation/revuesdk/videoprocessor/process%28pixelbuffer:%29/index.md): 處理一幀視訊(例如背景模糊) - [codec](reference/swift/documentation/revuesdk/videopublishoptions/codec/index.md): 視訊編碼器 + 對應 encoding 參數(enum with associated value) - [degradationPreference](reference/swift/documentation/revuesdk/videopublishoptions/degradationpreference/index.md): 品質降級偏好 — 頻寬不足時優先保持什麼、犧牲什麼 - [init(codec:maxFps:degradationPreference:)](reference/swift/documentation/revuesdk/videopublishoptions/init%28codec:maxfps:degradationpreference:%29/index.md) - [maxFps](reference/swift/documentation/revuesdk/videopublishoptions/maxfps/index.md): 編碼器發送端 FPS 上限(預設 15) - [render(pixelBuffer:)](reference/swift/documentation/revuesdk/videorenderer/render%28pixelbuffer:%29/index.md): 渲染一幀視訊 - [!=(_:_:)](reference/swift/documentation/revuesdk/videorotation/!=%28_:_:%29/index.md) - [encode(to:)](reference/swift/documentation/revuesdk/videorotation/encode%28to:%29/index.md) - [Equatable Implementations](reference/swift/documentation/revuesdk/videorotation/equatable-implementations/index.md) - [hash(into:)](reference/swift/documentation/revuesdk/videorotation/hash%28into:%29/index.md) - [hashValue](reference/swift/documentation/revuesdk/videorotation/hashvalue/index.md) - [init(from:)](reference/swift/documentation/revuesdk/videorotation/init%28from:%29/index.md) - [init(rawValue:)](reference/swift/documentation/revuesdk/videorotation/init%28rawvalue:%29/index.md) - [makeFromRawAttachmentValue(_:)](reference/swift/documentation/revuesdk/videorotation/makefromrawattachmentvalue%28_:%29/index.md) - [rawAttachmentValueRepresentation](reference/swift/documentation/revuesdk/videorotation/rawattachmentvaluerepresentation/index.md) - [RawRepresentable Implementations](reference/swift/documentation/revuesdk/videorotation/rawrepresentable-implementations/index.md) - [!=(_:_:)](reference/swift/documentation/revuesdk/videosourcestatistics/!=%28_:_:%29/index.md) - [Equatable Implementations](reference/swift/documentation/revuesdk/videosourcestatistics/equatable-implementations/index.md) - [fps](reference/swift/documentation/revuesdk/videosourcestatistics/fps/index.md): 發送側來源實測幀率。 診斷:設定 30fps 但實測 12fps = 相機/螢幕採集受限(如光線暗自動降幀)。 來源:LocalVideoTrack output sink 數幀 / 秒(SDK 自算,非設定值)。 - [height](reference/swift/documentation/revuesdk/videosourcestatistics/height/index.md) - [width](reference/swift/documentation/revuesdk/videosourcestatistics/width/index.md): 發送側來源畫面寬/高(編碼前,相機/螢幕實際輸出尺寸)。 診斷:與 outboundRtp 比對——源頭 1080p 但送出 720p = 編碼/傳輸降質,非來源問題。 來源:LocalVideoTrack 的 capturer.output sink 讀 CVPixelBufferGetWidth/Height… - [add(videoRenderer:)](reference/swift/documentation/revuesdk/videotrack/add%28videorenderer:%29/index.md) - [remove(videoRenderer:)](reference/swift/documentation/revuesdk/videotrack/remove%28videorenderer:%29/index.md) - [contentMode](reference/swift/documentation/revuesdk/videotrackpositioninfo/contentmode/index.md): 內容縮放模式(預設 .fill) - [init(track:normalizedRect:contentMode:)](reference/swift/documentation/revuesdk/videotrackpositioninfo/init%28track:normalizedrect:contentmode:%29/index.md) - [normalizedRect](reference/swift/documentation/revuesdk/videotrackpositioninfo/normalizedrect/index.md): 正規化座標(0.0~1.0,相對於 VideoTrackCompositor.resolutionSize) x=0, y=0 為左上角,x=1, y=1 為右下角 - [track](reference/swift/documentation/revuesdk/videotrackpositioninfo/track/index.md): 要繪製的 VideoTrack(相機/遠端/BufferTrack 皆可,不需要 publish) - [!=(_:_:)](reference/swift/documentation/revuesdk/videoview/adaptivestreampixeldensity-swift.enum/!=%28_:_:%29/index.md) - [VideoView.AdaptiveStreamPixelDensity.auto](reference/swift/documentation/revuesdk/videoview/adaptivestreampixeldensity-swift.enum/auto/index.md): 使用螢幕自身的 scale(`UIScreen.scale`)—— 預設值 - [Equatable Implementations](reference/swift/documentation/revuesdk/videoview/adaptivestreampixeldensity-swift.enum/equatable-implementations/index.md) - [VideoView.AdaptiveStreamPixelDensity.fixed(_:)](reference/swift/documentation/revuesdk/videoview/adaptivestreampixeldensity-swift.enum/fixed%28_:%29/index.md): 固定倍率(上限 `maxDensity`) - [maxDensity](reference/swift/documentation/revuesdk/videoview/adaptivestreampixeldensity-swift.enum/maxdensity/index.md): 密度上限 —— 避免要求過高解析度而吃掉頻寬 - [adaptiveStreamPixelDensity](reference/swift/documentation/revuesdk/videoview/adaptivestreampixeldensity-swift.property/index.md) - [adaptiveStreamSize](reference/swift/documentation/revuesdk/videoview/adaptivestreamsize/index.md): 回傳實體像素尺寸(邏輯尺寸 × `adaptiveStreamPixelDensity`);尺寸未知時回 `.zero`。 - [add(delegate:)](reference/swift/documentation/revuesdk/videoview/add%28delegate:%29/index.md) - [avSampleBufferDisplayLayer](reference/swift/documentation/revuesdk/videoview/avsamplebufferdisplaylayer/index.md): 取用內部的 `AVSampleBufferDisplayLayer`(僅 SampleBuffer 模式可用)。 - [delegates](reference/swift/documentation/revuesdk/videoview/delegates/index.md): 事件代理 — 訂閱 `isRendering`、尺寸變化(見 `VideoViewDelegate`) - [didRenderFirstFrame](reference/swift/documentation/revuesdk/videoview/didrenderfirstframe/index.md): 首幀是否已渲染 —— 「曾 render 過至少一幀」(單調,換 track 才 reset) - [init(coder:)](reference/swift/documentation/revuesdk/videoview/init%28coder:%29/index.md) - [init(frame:)](reference/swift/documentation/revuesdk/videoview/init%28frame:%29/index.md) - [isAdaptiveStreamEnabled](reference/swift/documentation/revuesdk/videoview/isadaptivestreamenabled/index.md): 目前僅回報「這個 view 現在看得見嗎」(已佈局 + 未隱藏 + 已啟用),**不觸發任何畫質調整**。 - [isAutoZoomResetEnabled](reference/swift/documentation/revuesdk/videoview/isautozoomresetenabled/index.md) - [isDebugMode](reference/swift/documentation/revuesdk/videoview/isdebugmode/index.md): 顯示 track sid、解析度(最近一幀的寬高)、首幀、渲染狀態、renderMode、renderer 數量、FPS; 外框正在渲染(`isRendering`)時綠色、沒在渲染時紅色。開啟時每秒更新一次 FPS,關閉時移除疊加層。 只在 main 讀寫。 - [isEnabled](reference/swift/documentation/revuesdk/videoview/isenabled/index.md): 是否啟用渲染 - [isFrozen](reference/swift/documentation/revuesdk/videoview/isfrozen/index.md): 是否凍結畫面 —— 停在最後一幀,新幀在 `render()` 入口被丟棄。 - [isHidden](reference/swift/documentation/revuesdk/videoview/ishidden/index.md): 是否隱藏 —— 覆寫 `UIView.isHidden`,讓 SDK 感知並連動停止渲染。 - [isMetalAvailable()](reference/swift/documentation/revuesdk/videoview/ismetalavailable%28%29/index.md) - [isPinchToZoomEnabled](reference/swift/documentation/revuesdk/videoview/ispinchtozoomenabled/index.md): 設 `true` 只加入 `.zoomIn`(只開放放大);設 `false` 只拿掉 `.zoomIn`。 讀取時回傳 `pinchToZoomOptions.isEnabled`(還有 `.zoomOut` 時仍是 true)。 - [isRendering](reference/swift/documentation/revuesdk/videoview/isrendering/index.md): 是否正在渲染 —— 「這道 track 目前有沒有真的在出畫面」 - [!=(_:_:)](reference/swift/documentation/revuesdk/videoview/layoutmode-swift.enum/!=%28_:_:%29/index.md) - [Equatable Implementations](reference/swift/documentation/revuesdk/videoview/layoutmode-swift.enum/equatable-implementations/index.md) - [VideoView.LayoutMode.fill](reference/swift/documentation/revuesdk/videoview/layoutmode-swift.enum/fill/index.md): 填滿(裁切,不留黑邊) - [VideoView.LayoutMode.fit](reference/swift/documentation/revuesdk/videoview/layoutmode-swift.enum/fit/index.md): 適應(完整顯示,可能留黑邊) - [hash(into:)](reference/swift/documentation/revuesdk/videoview/layoutmode-swift.enum/hash%28into:%29/index.md) - [hashValue](reference/swift/documentation/revuesdk/videoview/layoutmode-swift.enum/hashvalue/index.md) - [init(rawValue:)](reference/swift/documentation/revuesdk/videoview/layoutmode-swift.enum/init%28rawvalue:%29/index.md) - [makeFromRawAttachmentValue(_:)](reference/swift/documentation/revuesdk/videoview/layoutmode-swift.enum/makefromrawattachmentvalue%28_:%29/index.md) - [rawAttachmentValueRepresentation](reference/swift/documentation/revuesdk/videoview/layoutmode-swift.enum/rawattachmentvaluerepresentation/index.md) - [RawRepresentable Implementations](reference/swift/documentation/revuesdk/videoview/layoutmode-swift.enum/rawrepresentable-implementations/index.md) - [layoutMode](reference/swift/documentation/revuesdk/videoview/layoutmode-swift.property/index.md): 佈局模式 - [layoutSubviews()](reference/swift/documentation/revuesdk/videoview/layoutsubviews%28%29/index.md) - [!=(_:_:)](reference/swift/documentation/revuesdk/videoview/mirrormode-swift.enum/!=%28_:_:%29/index.md) - [VideoView.MirrorMode.auto](reference/swift/documentation/revuesdk/videoview/mirrormode-swift.enum/auto/index.md): 自動(前鏡頭鏡像,後鏡頭不鏡像) - [Equatable Implementations](reference/swift/documentation/revuesdk/videoview/mirrormode-swift.enum/equatable-implementations/index.md) - [hash(into:)](reference/swift/documentation/revuesdk/videoview/mirrormode-swift.enum/hash%28into:%29/index.md) - [hashValue](reference/swift/documentation/revuesdk/videoview/mirrormode-swift.enum/hashvalue/index.md) - [init(rawValue:)](reference/swift/documentation/revuesdk/videoview/mirrormode-swift.enum/init%28rawvalue:%29/index.md) - [makeFromRawAttachmentValue(_:)](reference/swift/documentation/revuesdk/videoview/mirrormode-swift.enum/makefromrawattachmentvalue%28_:%29/index.md) - [VideoView.MirrorMode.mirror](reference/swift/documentation/revuesdk/videoview/mirrormode-swift.enum/mirror/index.md): 永遠鏡像 - [VideoView.MirrorMode.off](reference/swift/documentation/revuesdk/videoview/mirrormode-swift.enum/off/index.md): 不鏡像 - [rawAttachmentValueRepresentation](reference/swift/documentation/revuesdk/videoview/mirrormode-swift.enum/rawattachmentvaluerepresentation/index.md) - [RawRepresentable Implementations](reference/swift/documentation/revuesdk/videoview/mirrormode-swift.enum/rawrepresentable-implementations/index.md) - [mirrorMode](reference/swift/documentation/revuesdk/videoview/mirrormode-swift.property/index.md): 鏡像模式 - [pinchToZoomOptions](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.property/index.md): 有 `zoomIn` 或 `zoomOut` 時雙指手勢才啟用,空的就停用。改值時把鏡頭目前倍率夾回新的允許範圍 (含 `resetOnRelease` 時直接回預設倍率)。只在 main 讀寫。 - [!=(_:_:)](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/!=%28_:_:%29/index.md) - [contains(_:)](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/contains%28_:%29/index.md) - [Equatable Implementations](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/equatable-implementations/index.md) - [formIntersection(_:)](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/formintersection%28_:%29/index.md) - [formSymmetricDifference(_:)](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/formsymmetricdifference%28_:%29/index.md) - [formUnion(_:)](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/formunion%28_:%29/index.md) - [init()](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/init%28%29/index.md) - [init(_:)](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/init%28_:%29/index.md) - [init(arrayLiteral:)](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/init%28arrayliteral:%29/index.md) - [init(rawValue:)](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/init%28rawvalue:%29/index.md) - [insert(_:)](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/insert%28_:%29-51be0/index.md) - [insert(_:)](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/insert%28_:%29-x5uv/index.md) - [intersection(_:)](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/intersection%28_:%29/index.md) - [isDisjoint(with:)](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/isdisjoint%28with:%29/index.md) - [isEmpty](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/isempty/index.md) - [isEnabled](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/isenabled/index.md): 是否啟用(`zoomIn` / `zoomOut` 任一存在即為啟用) - [isStrictSubset(of:)](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/isstrictsubset%28of:%29/index.md) - [isStrictSuperset(of:)](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/isstrictsuperset%28of:%29/index.md) - [isSubset(of:)](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/issubset%28of:%29/index.md) - [isSuperset(of:)](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/issuperset%28of:%29/index.md) - [makeFromRawAttachmentValue(_:)](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/makefromrawattachmentvalue%28_:%29/index.md) - [OptionSet Implementations](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/optionset-implementations/index.md) - [rawAttachmentValueRepresentation](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/rawattachmentvaluerepresentation/index.md) - [RawRepresentable Implementations](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/rawrepresentable-implementations/index.md) - [rawValue](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/rawvalue/index.md) - [remove(_:)](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/remove%28_:%29/index.md) - [resetOnRelease](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/resetonrelease/index.md): 放開手指後自動回復預設倍率 - [SetAlgebra Implementations](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/setalgebra-implementations/index.md) - [subtract(_:)](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/subtract%28_:%29/index.md) - [subtracting(_:)](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/subtracting%28_:%29/index.md) - [symmetricDifference(_:)](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/symmetricdifference%28_:%29/index.md) - [union(_:)](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/union%28_:%29/index.md) - [update(with:)](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/update%28with:%29/index.md) - [zoomIn](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/zoomin/index.md): 允許放大超過裝置預設倍率 - [zoomOut](reference/swift/documentation/revuesdk/videoview/pinchtozoomoptions-swift.struct/zoomout/index.md): 允許縮小超過裝置預設倍率 - [remove(delegate:)](reference/swift/documentation/revuesdk/videoview/remove%28delegate:%29/index.md): 移除代理 —— 轉呼 `delegates.remove(delegate:)` - [removeAllDelegates()](reference/swift/documentation/revuesdk/videoview/removealldelegates%28%29/index.md): 移除所有代理 —— 轉呼 `delegates.removeAll()` - [render(pixelBuffer:)](reference/swift/documentation/revuesdk/videoview/render%28pixelbuffer:%29/index.md) - [!=(_:_:)](reference/swift/documentation/revuesdk/videoview/rendermode-swift.enum/!=%28_:_:%29/index.md) - [VideoView.RenderMode.auto](reference/swift/documentation/revuesdk/videoview/rendermode-swift.enum/auto/index.md): 自動選擇(優先 Metal,不可用時 SampleBuffer) - [Equatable Implementations](reference/swift/documentation/revuesdk/videoview/rendermode-swift.enum/equatable-implementations/index.md) - [hash(into:)](reference/swift/documentation/revuesdk/videoview/rendermode-swift.enum/hash%28into:%29/index.md) - [hashValue](reference/swift/documentation/revuesdk/videoview/rendermode-swift.enum/hashvalue/index.md) - [init(rawValue:)](reference/swift/documentation/revuesdk/videoview/rendermode-swift.enum/init%28rawvalue:%29/index.md) - [makeFromRawAttachmentValue(_:)](reference/swift/documentation/revuesdk/videoview/rendermode-swift.enum/makefromrawattachmentvalue%28_:%29/index.md) - [VideoView.RenderMode.metal](reference/swift/documentation/revuesdk/videoview/rendermode-swift.enum/metal/index.md): Metal 渲染(不可用時 fallback SampleBuffer) - [rawAttachmentValueRepresentation](reference/swift/documentation/revuesdk/videoview/rendermode-swift.enum/rawattachmentvaluerepresentation/index.md) - [RawRepresentable Implementations](reference/swift/documentation/revuesdk/videoview/rendermode-swift.enum/rawrepresentable-implementations/index.md) - [VideoView.RenderMode.sampleBuffer](reference/swift/documentation/revuesdk/videoview/rendermode-swift.enum/samplebuffer/index.md): AVSampleBufferDisplayLayer - [renderMode](reference/swift/documentation/revuesdk/videoview/rendermode-swift.property/index.md): 渲染模式 - [rotationOverride](reference/swift/documentation/revuesdk/videoview/rotationoverride/index.md): 收到的畫面已經是正的(發送端轉正),這只是 App 額外指定的顯示角度。 填法(`layoutMode`)以轉向後的寬高計算;和鏡像合成同一個 transform(先轉再鏡像)。 - [set(size:)](reference/swift/documentation/revuesdk/videoview/set%28size:%29/index.md): 本專案 renderer 尺寸由 `layoutSubviews` 直接同步,此方法目前為 no-op。 詳見 `isAdaptiveStreamEnabled`。 - [track](reference/swift/documentation/revuesdk/videoview/track/index.md): 綁定的 Track — 設定後自動開始/停止渲染 - [VideoRenderer Implementations](reference/swift/documentation/revuesdk/videoview/videorenderer-implementations/index.md) - [videoView(_:didUpdate:)](reference/swift/documentation/revuesdk/videoviewdelegate/videoview%28_:didupdate:%29-1gqru/index.md) - [videoView(_:didUpdate:)](reference/swift/documentation/revuesdk/videoviewdelegate/videoview%28_:didupdate:%29-2zacq/index.md): `VideoView.isRendering` 已更新 - [videoView(_:didUpdate:)](reference/swift/documentation/revuesdk/videoviewdelegate/videoview%28_:didupdate:%29-427ir/index.md) - [videoView(_:didUpdate:)](reference/swift/documentation/revuesdk/videoviewdelegate/videoview%28_:didupdate:%29-887oi/index.md): `VideoView` 自己的大小已改變(`bounds.size`;只移動位置不通知) - [allKeyframe](reference/swift/documentation/revuesdk/vp8encoding/allkeyframe/index.md): 全 keyframe(每幀完整、不破圖)— init default - [cpuUsed](reference/swift/documentation/revuesdk/vp8encoding/cpuused/index.md): 編碼器 CPU 用力程度(-16 ~ 16) - [cqLevel](reference/swift/documentation/revuesdk/vp8encoding/cqlevel/index.md): CQ 模式下的目標畫質等級(0 ~ 63) - [highQuality](reference/swift/documentation/revuesdk/vp8encoding/highquality/index.md): 高畫質 preset(對應 C 層 `apply_high_quality_mode`) - [init(maxBitrate:cpuUsed:quantizerMin:quantizerMax:keyframeInterval:rateControlMode:cqLevel:temporalLayers:)](reference/swift/documentation/revuesdk/vp8encoding/init%28maxbitrate:cpuused:quantizermin:quantizermax:keyframeinterval:ratecontrolmode:cqlevel:temporallayers:%29/index.md) - [keyframeInterval](reference/swift/documentation/revuesdk/vp8encoding/keyframeinterval/index.md): Keyframe 間隔(幀數) - [lowBandwidth](reference/swift/documentation/revuesdk/vp8encoding/lowbandwidth/index.md): 弱網優先 preset(對應 C 層 `apply_low_bandwidth_mode`) - [lowLatency](reference/swift/documentation/revuesdk/vp8encoding/lowlatency/index.md): 低延遲 preset(對應 C 層 `apply_low_latency_mode`) - [maxBitrate](reference/swift/documentation/revuesdk/vp8encoding/maxbitrate/index.md): 目標位元率(bps) - [quantizerMax](reference/swift/documentation/revuesdk/vp8encoding/quantizermax/index.md): Quantizer 上限(0 ~ 63) - [quantizerMin](reference/swift/documentation/revuesdk/vp8encoding/quantizermin/index.md): Quantizer 下限(0 ~ 63) - [rateControlMode](reference/swift/documentation/revuesdk/vp8encoding/ratecontrolmode/index.md): Rate Control 模式 - [temporalLayers](reference/swift/documentation/revuesdk/vp8encoding/temporallayers/index.md): Temporal Layers 數量(1 ~ 3)