Live Streaming and conversation in the stream - android

I intend to realise an app and my first trouble is : is it even possible ? Let me explain to you.
The app must allow people to stream live channel that are broadcasting audios. Nothing hard here. The channel's owner can choose which specific people are allowed to listen to his channel (still nothing hard) but also which people can react among them. Yes it must allow people to talk in the audio stream too. In this part it will be like a hangout or skype-like. The stream also has a limited time (1-hour maybe).
So basically the app allow to make live audio stream and people can react in that stream.
Do you guys have any direction or even intuition in the feasibility of such a thing ? Thanks you.

Related

Audio Matching (Audio Fingerprinting)

I'm writing an android app that lets user record his voice through microphone & save it in storage & link it to a specific content (like a Contact). Later, user call that voice again & the app should compare it with saved audio files & find the one that matches the voice.
I searched a lot & found some libraries that do this online, like EchoPrint that generates fingerprint from recorded audio & sends it to opensource server & returns the result. But I need to do this offline.
Has anybody know such library?
If you are aiming to compare an old recording of a user with a new call as it comes in, audio fingerprinting solutions like Dejavu in Python on a server or Echoprint in C++ won't help you. They are for doing recognition and retrieval on recorded audio segments plus noise.
They cannot deal with the variabilites in human voice. See an explanation here.
If that's the case, what you are referring to is speaker recognition, which is much harder and involves quite a bit of machine learning. It would be tough to do this for a large corpus of users (especially offline on a phone), but for determining between a couple users, it might be doable.
Below is a good Library. Which is Easy to use. But you need to convert your Audio Files to Wave Format prior to this.
https://code.google.com/p/musicg/

What is RemoteControlClient in Android 4.0?

I know the rules of StackOverflow and hence apologize beforehand for asking such a subjective question.
I tried the documentation but all it says is this :
RemoteControlClient enables exposing information meant to be consumed
by remote controls capable of displaying metadata, artwork and media
transport control buttons.
A remote control client object is associated with a media button event
receiver. This event receiver must have been previously registered
with registerMediaButtonEventReceiver(ComponentName) before the
RemoteControlClient can be registered through
registerRemoteControlClient(RemoteControlClient).
I don't know about others but for me, this much of documentation was not enough for something which has such a cool name as "RemoteControlClient".
I searched a lot of forums for this but unfortunately, the concept is still not clear to me.
Would indeed be grateful if someone helped me understand it, how it works and most importantly, what all it is capable of.
Thanks in advance and apologies for asking a subjective question.
http://developer.android.com/about/versions/android-4.0.html
The new RemoteControlClient allows media players to enable playback controls from remote control clients such as the device lock screen. Media players can also expose information about the media currently playing for display on the remote control, such as track information and album art.
and a few more paragraphs on the subject.
It also points out:
For a sample implementation, see the Random Music Player, which provides compatibility logic such that it enables the remote control client on Android 4.0 devices while continuing to support devices back to Android 2.1.

Live streaming from Android app to Youtube

Is it possible to stream video from Android app to Youtube in live mode (to live channel on Youtube)?
I would like to do that but by streaming a previously-saved file from the Android device (not streaming video from the device's camera).
I'm looking for the simplest solution to do that (without a need for any intermediate servers, etc.), specifically for the purpose of streaming from Android (but the question is more about Youtube API).
If it is possible, where should I start with?
No. Unless you are an offical YouTube partner on their magic happy list. They know who they are, and it doesn't sound like you are one of them. Sorry.
From an announcement on their blog:
Today, we'll also start gradually rolling out our live streaming beta
platform, which will allow certain YouTube partners with accounts in
good standing to stream live content on YouTube.
Remember that Youtube Live is only a year old. The state of things very well may change in the short to medium term future.
In the mean time, have a look at services that may meet your needs, like justin.tv or ustream.com
It can be done :) To answer the question: you kind of need to dig in very deep into things like MediaCodec, H264 video encoder, Adobe's RTMP specification, the FLV media container format, and several other things.
Disclaimer: I am the author of that app.
Yes... if you are willing to pay quite a lot of money.
There is an app called "Screen Stream Mirroring" available on the Play Store. There is a limited free version (which I have tried and seems to only stream for around 10 minutes) and there is a paid version, but it's a lot of money for what you're getting: £3.99 (about $6.05 as of 06/09/2015 according to xe.com).
Feel free to try them out: Click here for free version or Click here for paid version.
You can stream your videos live to hangout and at the end they may be uploaded into your yourtube.
More info:
http://www.google.com/+/learnmore/hangouts/onair.html
You have to enable live streaming on your Youtube account.
But problem is that you need to call someone from Hangouts and that person need to answer your call. Then your stream goes live to Hangouts and your linked Youtube channel. It is impossible to make live stream without at least one person answering that "call".
According to this youtube page, it is possible: http://youtube-eng.blogspot.com.tr/2014/10/watchme-live-stream.html

Audio Framework: stream, strategies, devices

I am trying to get a better understanding of android audio framework (froyo onwards in particular).
I've almost got the distinction into streams. The AudioFlinger maps each stream into a "strategy" and then routes a strategy to the proper "device" (BT, Headset, Speaker..)
However I still struggle to understand:
1) How multiple apps play onto the same stream? can they just 'play' or do they have to handle the focus (request, abandon and listen for changes)?
2) When multiple streams are playing...what is the priority of one stream respect to another? surely the in-call stream has top priority but are there any "rules" to understand how things really work.
If anyone with more confidence on this matter has got any doc/resource to study.. it would be great.
Thanks!
Marco
The answer to this question
Concurrent Sound on Android Device
may help you.
Also, here
http://www.droidnova.com/creating-sound-effects-in-android-part-1,570.html
is written how to initialize the SoundManager with the number of concurrent streams you want to play.
If you need to understand the default behavoiur you can see the Cplusplus code at
/hardware/libhardware_legacy/audio/AudioPolicyManagerBase.cpp
However each vendor can make changes and ship a different flavour

Read an audio stream during (GSM) phone call

Is it possible to read an audio stream during (GSM) phone call? I would like to write an encoding application, and I do not want to go with SIP&VoIP. Thank you.
This will be phone and OS dependent and there are several apps that claim they record audio (Total Recall, Record my call on Android) but they generally seem to record via the microphone meaning the far end sound is poor.
I don't believe either the apple or android api's support access to the raw voice stream today.
Something to be aware of also is that it is not always legal to do this without informing the other party (i.e. the person on the other end of the call that you are planning to 'capture' the voice stream somehow) in many places - this may not be relevant for your particular plans but worth mentioning anyway.
If you have the option of doing the work in the network or on a PABX then you can create a basic (if not very efficient) solution by simply creating a three way (or conference) call.

Categories

Resources