#flutter #flutter-dependencies #flutter-test #agora.io #flutter-android
#трепетать #флаттер-зависимости #флаттер-тест #agora.io #флаттер-андроид
Вопрос:
Я пытаюсь создать приложение для видеозвонков с помощью Agora, но камера не открылась, на ней отображается черный экран, я пробовал несколько способов, но это не работает. Мой идентификатор приложения и temptoken обновлены(я делаю это в течение 24 часов) Добавьте Androidmainfist.xml добавляются в подключаемые документы, но я все равно получаю черный экран
import 'dart:convert'; import 'package:agora_uikit/agora_uikit.dart'; import 'package:flutter/material.dart'; // import 'package:get/get.dart'; import 'package:permission_handler/permission_handler.dart'; import 'package:http/http.dart'; class VideoCalll extends StatefulWidget { VideoCalll({Key? key}) : super(key: key); @override Statelt;VideoCalllgt; createState() =gt; _VideoCalllState(); } class _VideoCalllState extends Statelt;VideoCalllgt; { late final AgoraClient _client; late bool _loading = true; String tempToken = ""; @override void initState() { getToken(); super.initState(); } Futurelt;voidgt; getToken() async { String link = "https://agora-node-tokenserver.kumaresanjackie.repl.co/access_token?channelName=demoproject"; Response _response = await get(Uri.parse(link)); Map data = jsonDecode(_response.body); setState(() { tempToken = data["token"]; }); // late final AgoraClient _client = AgoraClient( agoraConnectionData: AgoraConnectionData( appId: "4b463a1f8d3448928f4450c9be2db3ba", channelName: 'demoproject', tempToken: data["token"], ), enabledPermission: [Permission.camera, Permission.microphone]); Future.delayed(const Duration(seconds: 2)) .then((value) =gt; setState(() =gt; _loading = false)); } @override Widget build(BuildContext context) { return _loading ? const Center(child: CircularProgressIndicator()) : Scaffold( body: SafeArea( child: Stack( children: [ AgoraVideoViewer( client: _client, ), AgoraVideoButtons(client: _client), ], ), ), ); } }
Комментарии:
1. Пожалуйста, приложите журналы SDK Agora к проблеме. Кроме того, вместо того, чтобы создавать токен самостоятельно, вы можете просто передать URL
tokenUrl
-адрес методу внутриAgoraConnectionData
класса