B4A Library B4a Janus Webrtc Audio Bridge Library

Hello everyone. if you are familiar with Janus Webrtc server then this library might be useful for you.
if you want to read more about meetecho janus gateway you can find it on this github.

This is not a wrapper or any kind of ready to compile Project.
This Project is made with curiosity From A To Z. starting from android studio codebase to the last piece of the code logic.
that's why this library is not for free. since there is many efforts and time has been given to make this library possible to b4a.

Functionality :
B4a Okhttp Websocket
  • AddoWebsocket [Okhttp Websocket Client to communicate with Janus]
  • Initialize
  • Connect
  • isConnected
  • Close
  • sendMessage
B4a Websocket Events
  • _onClosed(Code As Int, reason As String)
  • _onFailure(response As String, err As String)
  • _onMessage(text As String)
  • _onOpen
B4a PeerConnection Client
  • addoPeerConnection [a webrtc peer connection Client ]
  • Initialize(sessionId As Long, Userid As Long, Stunserver As String, Usertoken As String, DisableBuiltinAEC As Boolean, DisableBuiltinAGC As Boolean, DisableBuiltinNS As Boolean, "eventName")
  • isIntialized
  • StartJanusPeerConnection
  • Close
  • CreatePeerConnectionClient
  • CreateOffer
  • CreateBroadCastReceiver
  • AdjustAudioOutput
  • DefaultAudioOutPut
  • AdjustSpeakervolume
  • MuteMic
  • MuteSound
  • startAudio
  • stopAudio
  • RequestAudioFocus

Events
  • _PeerFactoryCreated
  • _PeerConnectionCreated
  • _offercreated
  • _sendmessage
  • _PublishAudioEnabled
  • _BroadcastReciver
  • _AudioManager

B4j (Back-End)
  • janusAdminws [websocket Client to safely Authenticate and manage users from the server side creating rooms, deleting rooms, kicking users and so on...]
  • janusAdminApi [HttpClient shows how to safely interact with janus admin panel from the server side to moderate tokens and sessions.]

Current Version is 1.50 if you are interested contact me via DM.
 
Last edited:

Addo

Well-Known Member
Licensed User
a complete version has been updated and sold out to other fellow b4x member,
Features
  • talk/stop talking
  • get list of rooms
  • changeroom
  • CreateRooms --> b4j Api to safely do this requests
  • Destroyrooms --> b4j Api to safely do this requests
  • edit rooms--> b4j Api to safely do this requests
  • add token--> b4j Api to safely do this requests
  • remove token--> b4j Api Connects to admin monitor to safely do this requests
  • list Tokens --> b4j Api Connects to admin monitor to safely do this requests
  • kick user
if you are interested contact me via dm.
 

mzelecom

Member
thanks.
when apps start this error happend.
why app need bluetooth?
B4X:
java.lang.SecurityException: Need android.permission.BLUETOOTH_CONNECT permission for AttributionSource { uid = 10663, packageName = b4a.example, attributionTag = null, token = android.os.BinderProxy@87bd14, next = null }: getName
 

Addo

Well-Known Member
Licensed User
You are lacking of Bluetooth permission. How ever this library is no longer for free. The current updated version is sold out to other fellow b4x member.
 

KZero

Active Member
Licensed User
Longtime User
this link for WebRtc aar is broken
i found a copy of the file online but when i compile i get this error
"Cannot find central directory"
 
Last edited:

pixet

Member
Licensed User
Longtime User
I have been using the Janus library on my Android devices for a few days and I must say that I am satisfied with the features available as well
as the great possibility of managing the actions and events necessary to manage users and personalized rooms on the server.

Good job.
 

Addo

Well-Known Member
Licensed User
Thank you for your comment hopefully you found it valuable for your needs.
 

pixet

Member
Licensed User
Longtime User
These are two screenshots, one of Admin with access to the Janus API created with B4J,
and the other from the client side on an Android device created with B4A.
 

Attachments

  • screenshot_janus_Admin_B4J.png
    118.1 KB · Views: 69
  • screenshot_janus_client_B4A.png
    38.5 KB · Views: 48
Cookies are required to use this site. You must accept them to continue using the site. Learn more…