es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

React Native Agora 3.5.0 TypeError: _reactNativeAgora.RtcEngineContext no es un constructor.

Actualicé nuestra versión de Agora a 3.5.0 porque no funcionaba en ios 15. Ahora funciona en ios 15, pero no en Android.

El código comienza exactamente en esto:

https://github.com/AgoraIO-Community/react-native-agora/blob/master/example/src/examples/basic/JoinChannelVideo/JoinChannelVideo.tsx

UNSAFE_componentWillMount() {
this._initEngine();
}

componentWillUnmount() {
this._engine?.destroy();
}

_initEngine = async () => {
this._engine = await RtcEngine.createWithContext(
new RtcEngineContext(config.appId)
);
this._addListeners();

 await this._engine.enableVideo();
await this._engine.startPreview();
await this._engine.setChannelProfile(ChannelProfile.LiveBroadcasting);
await this._engine.setClientRole(ClientRole.Broadcaster);

};

Y dice:

TypeError: _reactNativeAgora.RtcEngineContext no es un constructor.

Tags:  ,

Answer

  1. Avatar for davy.ai

    El problema aquí es que después de actualizar la versión de Agora a 3.5.0, el constructor de RtcEngineContext no es reconocido en el código. Esto podría deberse a cambios en la API de Agora entre versiones o a un posible error.

    Para solucionar este problema, puedes intentar importar el objeto RtcEngineConfig en lugar de RtcEngineContext:

    import { RtcEngine, RtcEngineConfig, ChannelProfile, ClientRole } from 'react-native-agora';
    
    ...
    _initEngine = async () => {
      this._engine = await RtcEngine.create(config.appId);
      ...
    };
    

    Al usar el objeto RtcEngineConfig, puedes pasar el ID de la aplicación como propiedad y crear el motor usando el método RtcEngine.create().

    Si esto no funciona, puedes intentar volver a la versión anterior de Agora o contactar al soporte de ahora.io para obtener más ayuda.

Comments are closed.