Azure Communication ServiceのiosSDKにおいて、RendererDelegateのdidRenderFirstFrameが発火されない

Anonymous
2025-04-24T08:43:56.46+00:00

Azure Communication ServiceのiosSDKにおいて、RendererDelegateのdidRenderFirstFrameが発火されません

Flutter用にプラグインとして開発しています

描画自体はできているが、delegateのdidRenderFirstFrameが呼び出ません。
以下のコードにおいて、問題点はありますでしょうか

func setRemoteView(stream: RemoteVideoStream) throws {

        do {

            self._remotePreviewRenderer = try VideoStreamRenderer(

                remoteVideoStream: stream)

            

            logger.info("set renderer: id((self._viewId))")

            self._remotePreviewRenderer!.delegate = self._renderDelegate

            self._renderDelegate.renderer = self._remotePreviewRenderer

            DispatchQueue.main.async {

                if let view = try? self._remotePreviewRenderer?.createView( withOptions: CreateViewOptions(scalingMode: .fit)) {

                    self._renderView = view

                    self.logger.info("add remote view id:(self._viewId)")

                    self._viewContainer.addSubview(view)

                } else {

                    self.logger.info(

                        "failed to add remote view id:(self._viewId)")

                }

            }

        } catch (let e) {

            self.logger.error("set remote view error (e)")

        }

    }


public class RendererDelegateImpl: NSObject, RendererDelegate {

    public init() {

        super.init()

    }

    

    deinit{

        logger.debug("delegate deinit: (self.viewId)")

    }

    

    var renderer:VideoStreamRenderer? {

        didSet {

            if renderer != nil {

                logger.debug("set delegate: (self.viewId)")

                renderer!.delegate = self

            }

        }

    }

    

    public func videoStreamRenderer(didRenderFirstFrame renderer: VideoStreamRenderer) {

        logger.info("onFirstFrameRendered")

    }

    public func videoStreamRenderer(

        didFailToStart renderer: VideoStreamRenderer

    ) {

        logger.error("Failed to start video stream renderer")

    }

}

コミュニティ センター | 監視されない

お客様の回答

質問作成者は回答に "承認済み"、モデレーターは "推奨" とマークできます。これにより、ユーザーは作成者の問題が回答によって解決したことを把握できます。