Giter VIP home page Giter VIP logo

xamarin.agora.samples's Introduction

Agora.io Full SDK Cross-Platfrom samples

This repository contains samples of using Xamarin Agora.io FULL SDK Nuget packages

Xamarin.Agora.Full.Android NuGet Badge

Xamarin.Agora.Full.iOS NuGet Badge

Xamarin.Agora.Full.Mac NuGet Badge

Xamarin.Agora.Full.Forms NuGet Badge

also contains a basic sample for Agora WebRTC

Running samples

  1. Run app on any 2 devices

  2. Enter same room name on both devices

  3. Click Join button

Quick Start

  1. Prepare Agora App ID, you can follow Obtaining an App ID instructions to get your App ID.

  2. Replace the following empty string with the corresponding App ID:

        public static string AgoraAPI
        public const string AgoraKey = "<AgoraKey>";
        vendorKey = ...
  1. Prepare node.js AgoraTokenServer server for generatin agora tokens. You need to enable Primary cetificate in your agora progect and replace the following empty strings with your cettificated string and App ID: AgoraTokenServer/TokenServer.js
        var appID = "<YOUR APP ID>";
        var appCertificate = "<YOUR APP CERTIFICATE>";
  1. Run AgoraTokenServer and replace the following epmty string with server URL: DT.Samples.Agora.Shared/AgoraTestConstants.cs
        public static string TokernServerBaseUrl

What's Inside

In this repository you can find OneToOne Communication apps for Android, iOS, Mac, Forms and Web

Screenshots

Xamarin.Forms iOS

Xamarin.Forms Android

Xamarin.Forms MacOS

RTM example for Android, iOS and Mac

  • Xamarin Android, iOS and MacOS apps in one solution RTM

xamarin.agora.samples's People

Contributors

alexsorokoletov avatar kkarasevich avatar sbokatuk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xamarin.agora.samples's Issues

video group

is it possible to create video group chat?

iOS RemoteView problem.

I'm having some problem with the remote view. The remote user connect without problems, but only his video is not showing. I can hear it without no problems.

On android, both remote and local view shows without no problem.

Using ios 13, xamarin 4.3+.

Project not selected to build for this solution configuration

It's not working on my visual studio it keeps on saying "Project not selected to build for this solution configuration" and other errors. I received errors after errors. Please help me... I use Xamarin.Forms I already have my existing application. It is for school requirements. I want to be able to implement video/audio calling inside the app, as well as screen sharing, switching camera and the likes. PLEASE i need you to help me.

Problem of having a local video using Agora Xamarin Forms

Hi DreamTeam,

We are having a problem of having a local video using Agora Xamarin Forms.
We have followed your example to show a local video.
https://github.com/DreamTeamMobile/Xamarin.Agora.Samples
As you can see here:
In Xaml:
xmlns:agora="clr-namespace:Xamarin.Agora.Full.Forms;assembly=Xamarin.Agora.Full.Forms"
<agora:AgoraVideoView x:Name="LocalVideo" StreamUID="0" IsStatic="true" Mode="Adaptive" IsVideoMuted="false" IsVideoEnabled="true" IsEnabled="true"/>

Our agora service is as follows:

public AgoraManager(string appId)
{
_agoraService = AgoraService.Current;
_agoraService.JoinChannelSuccess += (uid) => { };
_agoraService.OnDisconnected += OnDisconnected;
_agoraService.OnInfoUpdate += OnInfoUpdate;
_agoraService.OnNewStream += OnNewStream;
this.AgoraAppID = appId;
}

We start session as follow:
_agoraService.StartSession(roomSessionID, AgoraAppID, null, webSdkInteroperability: true);

Note: we have tried with several Agora xamarin forms version: 2.9.0-beta04, 2.9.1

Do you know why?

Attempt to invoke virtual method 'int io.agora.rtc.RtcEngine.setVideoSource(io.agora.rtc.mediaio.IVideoSource)

@sbokatuk - I'm trying to use the Screenshare android sample into my Xamarin.forms app and follows all the code that are written in RoomActivity of your sample but i get following runtime errror and my app is getting crashed:

[AndroidRuntime] java.lang.NullPointerException: Attempt to invoke virtual method 'int io.agora.rtc.RtcEngine.setVideoSource(io.agora.rtc.mediaio.IVideoSource)' on a null object reference
[AndroidRuntime] 	at io.agora.advancedvideo.externvideosource.ExternalVideoInputManager$ExternalVideoInputThread.prepare(ExternalVideoInputManager.java:230)
[AndroidRuntime] 	at io.agora.advancedvideo.externvideosource.ExternalVideoInputManager$ExternalVideoInputThread.run(ExternalVideoInputManager.java:252)
[] Thread 0x78d188ad50 may have been prematurely finalized
[] * Assertion at /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/mono/utils/mono-threads.c:650, condition `info' not met, function:mono_thread_info_current, 
[libc] Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 24487 (Thread-37), pid 23583

So any idea how this happen?

Unable instantiate the AgoraRtcEngineKit in Xamarin.iOS (Project: FormsAndSample) - Getting null value with AgoraRtcEngineKit.SharedEngineWithAppIdAndDelegate

Getting null value when using AgoraRtcEngineKit.SharedEngineWithAppIdAndDelegate(agoraAPI, _agoraDelegate); in StartSession method of AgoraServiceImplementation.cs - Xamarin.iOS (Project: FormsAndSample - Folder - FormsWithNativeNugets) . Because of this I could not able instantiate the video session.

Note: I'm using https://console.agora.io/ to generate the temp token.
VS 2019 Version - 16.9.6
Xamarin ios and Xamarin.Mac sdk - 14.16.0.5
Xamarin sdk version - 16.9.000.294
Xamarin.Forms version - 5.0.0.2012
Xamarin.Agora.Full.iOS - 3.4.2
iPhone 62 & ios Version - 13.4.1

The same AppID, Token and room are working fine in Android.

ExceptionScreenshot

is this free to use?

Hi, i want to use this in my app to give support to my costumers, i already manage to do this work in my app, is this free to use ?

Thanks

Notify user of incoming Audio/Video Call

Hi. Is it possible to notify the user of an incoming video or audio call. Similar to an incoming phone or face time call. Is this something that can be achieved with this product?

Cannot start a second video call after ending one without closing the app first.

The library fails with System.NotSupportedException: 'Unable to activate instance of type RepCentric.App.Droid.Agora.AgoraRtcHandler from native handle 0xad3fb264 (key_handle 0xc0d9705).' when I attempt to start a second video call after ending the initial one. The only way I can start a second one is if I first close my app and then retry.

object reference not set to an instance of an object , agora forms

AgoraService not initialize _agoraService object , on the next line _agoraService.JoinChannelSuccess it gives exception object reference not set to an instance of an object because AgoraService.Current not initialize the object it remains null

public void Init()
{
_isEnded = false;
if (_agoraService == null)
{
_agoraService = AgoraService.Current;
_agoraService.JoinChannelSuccess += (uid) => { };
_agoraService.OnDisconn
Screenshot 2021-07-25 at 2 41 08 AM
ected += OnDisconnected;
_agoraService.OnNewStream += OnNewStream;
_agoraService.StartSession(Room, Consts.AgoraAPI, Consts.Token, webSdkInteroperability: true);
}
}

Xamarin.Forms.iOS - LookupChannelTimeout

Hi, there is a problem with connecting to the channel on iOS.

Any solution/workaround for this issue?

I'm trying to launch your test solution for Xamarin Forms. Android is working fine, but iOS seems to be not updated.

2019-10-30 14:06:56.234 DT.Samples.Agora.Cross.iOS[4443:3840127] DidOccurWarning: LookupChannelTimeout
2019-10-30 14:06:59.221 DT.Samples.Agora.Cross.iOS[4443:3840127] DidOccurWarning: LookupChannelTimeout
2019-10-30 14:07:02.219 DT.Samples.Agora.Cross.iOS[4443:3840127] DidOccurWarning: LookupChannelTimeout
2019-10-30 14:07:04.221 DT.Samples.Agora.Cross.iOS[4443:3840127] DidOccurWarning: LookupChannelTimeout
2019-10-30 14:07:06.222 DT.Samples.Agora.Cross.iOS[4443:3840127] DidOccurWarning: LookupChannelTimeout

Regards
Simon

how make call with proxy

hello
we want use agora for video caudio in xamarin but agora is censored in our country . how can make call or videos behind of proxy / socks from app level ?

Agora Xamarin Forms

Hey,

I am using agora xamarin forms full sdk (Xamarin.agora.full.forms(2.9.4).

when I use a temporary token for testing that time it's working fine but when I use a live token I did not able to join the channel. every time I am getting token expired/ invalid token error

Thanks.

After the first video call the JoinChannelSuccess is fired more than once

Hi.

I'm developing an App that uses the Agora SDK for Xamarin Forms. I'm using both, Full.Android(3.5.1) and Full.iOS(3.5.0.3) and I have the same problem in both.

As the title says, after the first video call, when I create a new Room the JoinChannelSuccess fires more than once, every time a create a new one increments the calling of JoinChannelSuccess. And when the user ends the session it will end more than once.

I'm following the samples from FormsWithNativeNugets.

I'm attaching an image.

264004607_1166185473788303_8869652911825626950_n

Any idea why this happens?

Thanks in advance. For more details you are free to ask. I'm not posting the code because it's the same from your samples.

Overlapping video views doesn't work

Whilst i can get the video to work, it seems in the scenario where one wants to overlap videos and place one view on top of the other, the other view will completely dissappear. What could be happening here?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.