I was using twilio client android sdk for video call in my android app.I had integrate the twilio android client api for the video call and video call goes smoothly.I just want to know how can i get the call statistics or call usage detail after completion of any video call ?
I had gone through the Twilio Docs but didn't find anything...kindly suggest me the solution if anyone has done..
As of yet, Twilio Video does not have a REST API.
You can get the data which you seek from logs in the console:
https://www.twilio.com/console/logs
Related
Greetings to fellow developers,
I am working on a project where I have to display a functional video call between two users. For reference, I have been following this video https://www.youtube.com/watch?v=v9ngriCV0J0
which has given a step-by-step explanation for establishing a video call between two users.
However, the only issue is that the video is having a Firebase backend. Hence, whenever a caller creates a call model with sender and recipient Ids, the recipient immediately receives the same data and a call is established. Whereas, I am using Node/Express backend (manual API calls for updating fetching data) which makes it extremely difficult to receive the required call data from the receiver's end as soon as the caller sends it to the backend. Also, it will be inefficient to listen for fetching the call data the whole time.
I will be very grateful to all of you if you can help me find a working approach so that the receiver can fetch the required call data as soon as the caller creates it in the backend for establishing a video call from separate devices.
Here's my code
https://pastebin.com/AurJnG27
/***pubspec.yaml dependencies***/
dependencies:
flutter:
sdk: flutter
http: ^0.12.0+2
provider: ^4.3.3
socket_io_client: ^0.9.9
permission_handler: ^3.0.0
agora_rtc_engine: ^1.0.8
/***pubspec.yaml dependencies***/
Please let me know if any further information is required from my side. Any feedback for code improvisation (if you feel like it) is also very appreciated.
You're getting that error because of an incorrect or expired token that you might be using. Firstly, I will suggest shifting to the latest version of the Agora SDK and then build your application.
Now, if you're just testing out the platform then from your Agora dashboard you can go ahead and generate a new App ID and select the testing mode which will disable token. So in your joinChannel() method you can pass null for the token value.
But if your application is live or is in production then go ahead and select the secured mode from your Agora dashboard. Then you will have to generate a token server from a deployed server, you can read more about it here.
Now, coming to the Firebase part. You can actually make this process much simpler by using the Agora RTM SDK. Which allows you to send messages, through this you can send peer message about the call details and hence refer it while making a call. You can have a look at this blog which shows how you can use the RTM SDK to do the same: https://www.agora.io/en/blog/building-your-own-audio-streaming-application-using-the-agora-flutter-sdk/
If you're interested you can have a look at this sample code given here which will help you setup a proper video calling application.
I will also recommend you to join the Agora Slack Channel where you can get help from other Agora developers.
We need to implement functionality that Admin should be able to mute anyone in channel, for this we have used your function
muteRemoteAudioStream(uid, toMute)
We also want to show everyone that this user has been muted... But for now we are not getting any callback in method
onRemoteAudioStateChanged(uid, state, reason, elapsed)
I' m using agora voice sdk version : 3.3.0 (implementation 'io.agora.rtc:voice-sdk:3.3.0')
Kindly help us on this.
Thanks in advance
Please define and create the IRtcEngineEventHandler when initializing the RtcEngine instance. This will make sure that onRemoteAudioStateChanged be called when the remote audio state change (e.g. remote user mute).
Agora currently does not provide similar API for remotely mute any users. But you can achieve this by using Agora RTM (Real Time Messaging) SDK. You can send a signal from the "Admin" user to the remote users. When the remote users receive the message, they can call muteLocalAudioStream method to mute themselves.
Here is the guide for RTM SDK: https://docs.agora.io/en/Real-time-Messaging/messaging_android?platform=Android
We are building calling app in Android using Agora SDK. We checked this samples :
https://github.com/AgoraIO/Basic-Video-Call
in our app, 2 users can do video call. We are using this sample : https://github.com/AgoraIO/Basic-Video-Call/tree/master/One-to-One-Video/Agora-Android-Tutorial-Kotlin-1to1
For the group call, we followed this sample : https://github.com/AgoraIO/Basic-Video-Call/tree/master/Group-Video/OpenVideoCall-Android
We are trying to implement group call in this way :
User-A calls User-B
Both gets connected (using https://github.com/AgoraIO/Basic-Video-Call/tree/master/One-to-One-Video/Agora-Android-Tutorial-Kotlin-1to1)
User-B can able to invite more users in a ongoing video call.
Does this possible? Please suggest us a correct way?
For a call invitation scenario, you will need to leverage some sort of signaling solution. Agora.io provides the RTM SDK that you can use alongside the Agora RTC SDK. You can refer to Agora's guide to see how the implementation works: https://docs.agora.io/en/Real-time-Messaging/rtm_invite_android?platform=Android
This is how you would actually create the invitation
void inviteCall(final String peerUid, final String channel) {
// Creates LocalInvitation
LocalInvitation invitation = RtmCallManager.createLocalInvitation(peerUid);
invitation.setContent(channel);
// Sends call invitation
RtmCallManager.sendLocalInvitation(invitation);
}
You will also need to use something like Android's ConnectionService to be able to implement call notification. Here's an guide on call notification: https://docs.agora.io/en/Real-time-Messaging/faq/call_invite_notification
On the website of Applozic it's given that video calling is possible by it's SDK. https://www.applozic.com/features.html
But there is no description in document of video calling.
if (id == R.id.dial) {
((ConversationActivity)getActivity()).processCall(contact,currentConversationId);
}
This is the code which is calling on pressing call button but it is always taking conversation id null.
Also I don't find code in SDK related live video calling.Can anybody help please?
Update:- I did contact to Applozic support team they are planning to lunch video calling in some week.
We have released audio/video call and you can get our sample in github.
Audio-video gradle dependency:
compile 'com.applozic.communication.uiwidget:audiovideo:1.0'
You should follow our documentation for how to enable audio-video call.
I'm currently developing an android mobile app. I see that private Vimeo videos are not playing. Check the attached screen shot. Also note that the android app is still on development mode and not uploaded to Google. Please help me in this regard.
Regards,
Niladri!
private vimeo video not playing
That picture appears to be accessing vimeo.com directly to view videos. At vimeo.com, private videos can only be viewed if you are logged in (which is unrelated to the API).
If you want to play a private video in your application you will need to follow one of the following workflows:
Embedded in a webview
Mark your video as hidden from vimeo, yet embeddable, in your video's settings
Make an API request to /videos/{video_id} and extract the embed code from the response body (response.embed.html)
Put the embed code in your webview's html
Played in the Native Player (Vimeo PRO only)
Mark your video with any privacy setting
Make an API request to /videos/{video_id}
Find the collection of video files (response.files)
Loop through the video files to find the best height and width for your target player
Load the link into your native player
You can read more about the Vimeo API at https://developer.vimeo.com/api, and https://developer.vimeo.com/api/endpoints
If you want to play private Vimeo videos of your Vimeo account in an Android Application then follow the steps below:
Go to your video privacy settings and mark it as hidden from Vimeo and embed anywhere.
Make an API request to this endpoint: https://api.vimeo.com/users/{your_user_id}/videos
Get the embed.html string from the API response.
Load embed.html obtained in the previous step into your WebView.
For Vimeo Android SDK: https://github.com/vimeo/vimeo-networking-java
You can retrieve the Video endpoint by calling an auth-enabled REST API and then play it using a player(I used Exoplayer in android).
Follow below steps:
API Registration: You will need an application registered with the Vimeo API. If you do not already have an application registered, you can do so here.
You can generate an access token in the Authentication tab once you select your app from the list here.
With this access token you'll be able to make any requests that the access token's scope allows. You will NOT be able to switch accounts if you only supply the access token.
Call rest API with the access token in the header like below
Endpoint:
https://api.vimeo.com/videos/{VIDEO_ID}
Header:
Authorization:bearer ACCESS_TOKEN
VIDEO_ID is the id of video uploaded to Vimeo(Some number eg: 45334535)
ACCESS_TOKEN is the token you got after API Registration
This steps worked for me. I hope this will help someone.
We have a special google's SDK for YouTube for instance. On the other side AOS does not support Adobe Flash. Maybe its just has an unsupported by AOS video codec used by vimeo service? That could be the reason why you cant watch vimeo videos via WebView/browser.
Did you check for Vimeo official Android SDK if such thing does exist at least?
Also check this
And a little suggest: try to use SO search and google - it helps in most cases :)