We are building an Alexa skill that connects to a custom mobile application. As part of the skill we'd like to have a fallback intent that simply connects the user to an operator. The operator is using a custom mobile application (that we have already built).
Ideal order of operations:
Alexa converses with the user and cannot determine an intent
Alexa falls back to the fallback intent and says "Hold on, I am connecting you to an operator"
Alexa plays music and sends message to our existing system indicating that an operator should drop in on the smart speaker (in our case, we will be using an echo dot to start with).
Operator drops in on echo dot, at which point we terminate the hold music.
The operator can now manually determine the intent where Alexa was unable to.
I've been trying to figure out how to program this. Specifically:
Is there any way to programmatically drop in on a device (using a deviceId)?
In general, how does one push notifications to the Alexa enabled device. For example in #4, we would need to enable a drop in intercom type functionality but also ensure that the music is terminated at that point.
Thanks in advance.
Related
Lets imagine i want to build some app for videoconferences or videomeeting that is chromecast-compatible.
So i can use my android device to connect meeting, after that i just click something like "cast to device" and get audio and video on my TV.
Also i noticed that skype, zoom, discord and all apps like this has not bulid-in chromecast support. So maybe it is impossible?
I tried to find something about that but but found nothing useful. I found zoom sdk, and chromecasst sdk, but not seen what actually i shoud cast. As i understood chromecast can send only media-content to reciever, but zoom sdk not actually provide some media-like links for conversation(videoconference).
So i want to know what are my steps to build my own chromecast-compatible meeting app and what may i want to use to develop app like that?
Or maybe someone know how can i use Zoom sdk to achive what i want?
When a sender device connects to a Chromecast, it has a limited set of "commands" it can send to the device.
There is no immediate way to send data other than those messages from the sender to the device - there is a 'custom' message, but that too only includes stringified JSON
The way this would have to work is too set up a stream of the screen/app you want to display via Chromecast and send a LOAD message to the Chromecast which will connect back to the sender (or a third party server where the video can be streamed from) and play it.
I'm not too confident this is going to work as intended though - there will be a significant delay between the sender and the Chromecast, and since the Chromecast has no mic, you will also have to use the mic of the sender and deal with the acoustic feedback.
I realize this question has been asked in the past but the latest one I can find is from 2011 so I thought it was applicable to bring this up again. Let me explain my requirement in question through an example.
Our company makes relay control boards which you can operate from android. You can take a look at them here.
We have Bluetooth, WiFi, and Ethernet relay boards which you can operate from android using our free app here.
Sorry if this is starting to sound like a sales pitch just trying to put things into context. These relays could be used for something such as opening a garage door.
My friend recently got an Android watch which supports the OK Google voice commands. We thought it would be cool to run a background service started from the application which could register a receiver for voice activated broadcast intents. So if the speech command matched a string such as "OK Google Open garage door", which the user could edit in the app, we could connect to the relay board and and turn it on momentarily which would result in opening the garage door.
So is this possible? If not why the heck not? Sounds like something we as Android developers should have access to and could open up a whole world of possibilities.
Google Now fires intents in response to voice commands, see http://developer.android.com/guide/components/intents-common.html#Now
This is not quite what you're asking but it's new since 2011, so it's worth mentioning.
Starting with API level 21 there is also an AlwaysOnHotwordDetector API (https://developer.android.com/reference/android/service/voice/package-summary.html), which might allow you to implement your own customized hotword detector if Google Now does not provide the required functionality. (I haven't experimented with it myself yet.)
I'm developing one Android application which would record video during calling when dialing some emergency numbers. Some of my android developer friends told it is not possible. Please help me if there is any way to achieve this
Normally, your app cannot know if some special number has been dialed. We can send a CALL Intent with some special number, and the Dialer system app will allow the end-user place the call. Or edit the number and place the call. It is also possible to write a broadcast handler that can be invoked when the end-user or some other app requested a call to some special number. But your app cannot perform the call itself.
If your app runs with superuser permissions (e.g. if the device is rooted), or if you replace the system Dial app with your custom one, then you certainly can control the camera while in call.
Also, if you forward the call over Internet, you can do what you want.
Finally, please note that even if you record the video during the phone call, you may not be able to live stream this video over the cellular network (some LTE networks do not turn off mobile data channel while in phone call).
I installed Kamailio, am able to add users and make calls, but I need to use it for my android push to talk client app i.e. upon calling another user(s) (using the same app), instead of ringing their app/phone it should directly transmit voice of the caller while the other user(s) is muted and to respond other user presses a toggle button to speak to the caller.
Is there a module that does this, would I have to implement my own or would I have to modify the source code to achieve this?
Thanks.
Kamailio is a SIP signaling server, usually acting as a proxy, it does not process media (audio) at all. Sending/receiving the media in a call is a matter of end points. Therefore the PTT functionality has to be implemented by client applications or a dedicated PTT server has to be placed in the network.
I am new to android. I am trying to lock the device using voice . I recorded the voice with media recorder but now How I lock the phone with this voice ? plz any idea.
Interesting, but u need to probably do more work that mere speculation here. A quick brainstorm:
your app must be a device admin to be able to lock the device
to lock the device, this device admin could be "told" via a broadcast event routed to it
the "lock device" event can be raised by another / same app if it can capture from the mic,
probably forward this to a server that can do speech-to-text (Google has something), then yo app tries to recognize whether the response text matches the "lock" criteria. If it does, then broadcast the "lock" event.
This heavily depends on how good the speech-to-text part is done, otherwise, explore along those lines.