Application-Bridge for iChat Audio Channels - itunes

There is a feature in GarageBand that allows you to record iChat Audio sessions directly into GarageBand. When you are the host of an iChat conference (you called the other party/parties), you can open GarageBand and hit record, and GarageBand will ask you if you wish to record the conference. Say yes, and GarageBand creates distinct tracks for all members of the conference, and records isolated audio from them into their own channel, complete with their username (or real name as determined by Address Book), and Avatar.
I'm interested in finding a way to connect this feature into other software.
First: Is this API documented? (I am not a paid Apple Developer.)
Second: Would it be possible to write a piece of software that would take these iChat audio channels, and create them as sound devices? Ideally this would be similar to the way Soundflower works to create a sound source that is a composite of all sound sources.
In theory, this would enable ANY recording application to take advantage of this iChat feature, as opposed to just GarageBand, without the need for a custom audio channel bridge for every individual piece of recording software.

Related

NAudio - Detect Audio via Application

Windows Volume Mixer shows audio output for individual applications.
Using NAudio, what is the right way for me to tap into this information? I essentially want to be able to make my application say:
Always record all audio input/output. Unless otherwise specified, only keep a buffer of the last 30 seconds. Throw the test away. (I know how to do this)
When Skype, Vonage, or Ring Central plays audio for more than 5 seconds, ask the user if they want to start saving the audio. (How would I do this?)
If so, save the 30-second buffer to a file and then start recording live. (I know how to do this)
Thanks for the help!
Windows won't let you capture audio from individual applications. You can use NAudio's WasapiLoopbackCapture to capture audio from all applications.
If you just want to see audio output levels for all apps, that can be achieved with the IMMDevice APIs which NAudio has wrappers for. It doesn't come with a specific demo showing that, but there's another open source project, EarTrumpet that you could explore to see how its done.

What is the API for SONOS Playbar to Allow third party controlling Volume and Input Selection (Only)?

I only need to be able to control (over third party control system, Crestron) the volume (up, down, mute), select input (video or music) and ON/OFF for SONOS Playbar, Sub and two Play1 in order to achieve 5.1 surround sound.
I am not interested in controlling any of the other SONOS feature as I will use SONOS App for music services. I just need to ensure that my Crestron system can control volume regardless whether the active source is video (coming from the TV) or audio (coming from SONONS App) and also to be able to switch between audio and video sources.
We don't currently have a public API available for Sonos control. I will take this as input for future consideration back to the team.
Look at the UPnP specifications for RenderingControl, and use the volume/mute calls against the Playbar endpoint. Its easy. Selecting input is trickier: TV is simple, but for "music" you need to do a lot more work as you need to specify exactly what music, and Sonos support a gigantic array of options there.

One to many video Audio conferencing - webrtc - openTok

I searched about this on google but could not find any suitable answer so posting here for help.
I want to implement video streaming with multiple participants connected. While google this topic I found that WebRTC provide similar functionality but I want to make sure whether WebRTC can support all my requirements.
I want to build an application that should support large number of participants in conference (around 10000).
I want to implement facility like one participant is broadcasting its video and audio streams and other are just listening to their stream.
Also when prompted only one participant will be able to communicate with broadcaster which will be managed by one participant (a administrator). Administrator will decide who can communicate with broadcaster.
Is same can be possible with any other WebAPI ?? I found OpenTok, but not confident if it provide any feature of moderation in conference (i.e. feature of having an Administrator who manages stuff)
Did anybody worked on similar concept or having any information related to this.
Let me know if I am not clear of any further details are required.
Any help would be useful,
Thanks in anticipation
Hardik - I am Product Manager at TokBox, the makers of the OpenTok platform. Good news: TokBox can fulfill virtually all of your requirements, but with a few caveats.
TokBox has been building a video chat/conferencing platform for years, long before WebRTC even existed in fact. In that time we have supported many customers with almost your exact requirements on OpenTok, a platform that is based on Flash (Major League Baseball is one such customer). Building applications on this architecture has the added advantage of solving virtually all of the interop issues that exist when connecting people using different devices and browsers. It is based on Flash however, which technically doesn't meet your WebRTC requirement. So you know, there's that.
WebRTC is where it's at though, which is why we created OpenTok for WebRTC in 2012. It was a complete rewrite of the platform that not only provides higher quality video, but also gives developers more hooks and far more control over how exactly they integrate video and audio chat into their primary customer experience.
Currently in beta (as of this writing in June 2013) are two new components in our WebRTC infrastructure. The first we refer to as Mantis, which solves many of the challenges associated with hosting large multi-party calls. The other is Cloud Raptor, which gives developers access to a stream of events stemming from a WebRTC session, and through which developers can issue events and commands of their own. Raptor is what enables you for example to moderate calls, boot participants, and control whose audio and video streams are broadcast to all the other participants.
So, TokBox has what you need. In the short term we can help you get up and running using OpenTok pretty quickly. Then we can discuss with you how to get you onto OpenTok for WebRTC and into our Mantis and Raptor beta program.

Streaming music on your website through custom player / application (iTunes)

I was doing some research to find out ways that would allow me to stream music on my website legally. I came across iTunes partner program which allows to stream music on a website through their embedded players. I was wondering is it possible to stream iTunes music through your own custom player? If that is not possible via iTunes, then what other methods are available?
You could do this with a server software like Icecast, there is some good tutorials on setting this up here: http://www.icecast.org/docs.php
Depending on how many browsers you want to support you might want to setup two streams, one in MP3/OGG and a "backup" stream in Flash. Then add some detection as to what the browser supports and present the correct stream (i.e.: Use the HTML5 <audio> tag for playing MP3/OGG to browsers that support this, and use your flash stream for the rest)
their program allowing playback of music in the iTunes Store is likely only for those with the intention to sell music, without providing a commerce business, you'd be breaking their partner program T&C's.

Capture Keystrokes on Symbian OS?

How would one go about capturing users keystrokes in the SMS composer on the Symbian OS, specifically for a Nokia N73 (or any of the symbian supported devices http://en.wikipedia.org/wiki/Symbian_OS#Devices_that_have_used_the_Symbian_OS)? I'm new to symbian development and I'm trying to write an application to analyse writing styles of those who send SMSs. Any information (or push in the right direction) would be great.
Many Thanks,
A
Actually, you can capture keystrokes destined for any application in Symbian OS.
RWindowGroup::CaptureKey() and RWindowGroup::CaptureLongKey() allow your executable to capture keys from any applicaton, whether yours is in the foreground or not.
However, in this case this may prove to be tedious - these two functions work by capturing specific key codes and modifier combinations, so you would have to set up a lot of captures to deal with all the key combinations in the SMS composer.
You would also have to pass the event on to the SMS composer once your exectuable had captured it. Whilst nominally possible using RWsSession::SendEventToWindowGroup() or TApaTask::SendKey(), there are complexities involved the events arrive in right order (i.e. key down, key event, key up) and behaviour of different FEPs (Front End Processors) for user input.
So whilst it is nominally feasible to do what you require as above, it would prove to be tedious to implement and test, bordering on the risky. If all you want to do is analyse writing style to collect data (rather than in a product app), you might be better off writing your own SMS composer - there are plenty of examples on the Forum Nokia web site of editors and SMS sending.
On a related note - is there an API that can detect all the keys being pressed at once as I stamp on my Symbian phone in frustration at its APIs? ;-)
Well, there are several levels to answering to your question.
The keystrokes are actually captured by the message editor application. So, either it provides an API to feed you all its keystrokes (you can look for one on http://forum.nokia.com. You'll find the message editor API but it will be mostly about re-using GUI controls and not what you're looking for) or you would need a transparent application of your own that stays in the foreground and captures keystrokes before feeding them back to whatever application happens to be right behind. Fortunately (for obvious security reasons), Symbian OS will not allow you to do the later.
You can, however, have your own application read messages when they are saved in the phone memory: when they are saved in the Draft folder or in the SMS Outbox.
The obligatory shameless plug: I would advise reading the messaging chapter of http://www.quickrecipesonsymbianos.com in order to understand how to use the Symbian Message Store
The classes of interest in your case are : CmsvEntry, CMsvSession, MMsvSessionObserver, CMsvOperation and CSmsClientMtm.