Windows Phone 8 Record Speaker Audio - silverlight

I'm making an app that allows users to play a keyboard and share their created songs with friends via audio files. How would I record the sounds coming from the app in order to accomplish this? In other words, how would I capture the sounds output by the speakers for a duration of time, and turn it into a WAV or MP3 file?

http://developer.nokia.com/Community/Wiki/Audio_recording_and_playback_options_in_Windows_Phone
read these series of articles

Related

Alexa Skill: how to play mp3 longer that 4min

I've written a rather simple Alexa Skill that play pre-recorded tales for children, recorded by professional actors (long better than mechanical voice of Alexa). Everything works fine, you can chose which kind of story and the story get chosen randomly from an array.
The problem is that I am actually play mp3 using SSML and it that limits the audio file to max 4 minutes.
I could cut the longer stories in multiple .mp3 files, but I don't know how to create a "progressive reply".
Any suggestion?
There are certain limitations in embedding audio tag in SSML. The audio file cannot be longer than 240 seconds.
If your stories are longer than 4 mins consider upgrading it to an AudioPlayer response. Audio Player interface lets you to play longer mp3 audio files. With AudioPlayer interface you can play one story after the other, or repeat it.
The AudioPlayer interface provides directives and requests for streaming audio and monitoring playback progression. Your skill can send directives to start and stop the playback. The Alexa service sends your skill AudioPlayer requests to give you information about the playback state, such as when the track is nearly finished, or when playback starts and stops.
More on audio tag here
More on AudioPlayer intetrface here

How to remove audio track from a video file using Xuggler?

As part of processing the videos, I want to REMOVE the video information from the FLV video file. Idea is just to present the AUDIO to the user without showing any visuals. However note that I want to present this to the user as a video only so that it plays in the flash plugin in the browser, and user would just listen the audio.
I saw many posts which extracts the media, and I presume they just extract, and not REMOVE.
How xuggler can be used for this purpose? Any example code will be useful here.
/anil.

How to stream video, with MediaElement, from a database, in chunks

I have a MediaElement that plays video. I have my video stored, in binary, in my SQL Server database.
The way this works out for me is that the Silverlight app reads ALL the binary data from a web service. The web service returns a byte[] that I turn into a stream, and set as source for the MediaElement.
The big problem with this is that it needs to read all the data before the MediaElement's source can be set. With large videos, this takes a long time.
So, I was hoping to somehow take chunks, and buffer as I go, like any online video player does.
Any clues on how I can actually do that?
I ended up doing this a bit different.
I couldn't figure out buffering from the DB, so we setup a mediaserver, and used the silverlight app, to stream from that instead.
I found this article on the Silverlight Forums, which has a similar question (audio instead of video).
The solution states:
"You can try to create a ASX file to hold the playlist and set the ASX file as the source of the MediaElement."
One of the links provided in the solution goes on to say:
"An ASX file is simply an XML file that specifies the media files in the playlist. Playlists provide, among other things, a central entry point for a group of media."
It sounds like you should be able set the source of your MediaElement to a Silverlight Playlist, or ASX File, and then download your video, in chunks (possibly as separate "files"), to that Playlist.
Hope this helps!

is there a program that exists that can sync movies being watched across a network?

Have a host control the movie, and the clients will be synced up with everyone in the swarm, they would have the exact movie file on the machine already, just want to be to talk over voice chat about the movie, and be on the same page
I know of no such program. To accomplish this. I would suggest having one user stream the movie and everyone watch that stream, including the user streaming it so everyone is on the same page within a few seconds.
I believe VLC supports media streams, if not Procaster will work for things other than media files.

What audio format works for Silverlight + WPF?

I'm writing a pair of applications for distributing audio (among other features). I have a WPF program that allows an artist to record and edit audio. Clicking a button then uploads this to a silverlight-powered website. A consumer visiting this website can then listen to the audio. Simple. It works. But I'd like it to be better: I need an audio format that works seamlessly on both the recording and playback sides.
I'm currently using mp3 format, and I'm not happy with it. For the recording/editing, I use the Alvas Audio c# library. It works ok, but for MP3 recording requires that the artist goes into his registry to change msacm.l3acm to l3codecp.acm. That's a lot to ask of an end-user. Furthermore mp3 recording seems rather fragile when I install on a new machine. (Sometimes it randomly just doesn't work until you've fiddled around for a while. I still don't know why.) I've been told that unless I want to pay royalties to the mp3 patent holders, I always need to rely on this type of registry change.
So what other audio format could I use instead? I need something compressed. Alvas audio can also record to GSM, for example, but that won't play back in silverlight. Silverlight will play WMA, but I don't know how to record in that format - Alvas Audio won't. I'd be open to using another recording library instead, but I haven't managed to find one.
Am I missing something obvious, or is there really no user-friendly way to record audio in WPF and play it back in Silverlight? It seems like there should be...
Any suggestions greatly appreciated.
Thanks.
IMO, WMA would be your best bet. I'm not sure how your application is setup or how low level you want to go, but the Windows Media Format SDK is a great way to encode WMA and the runtimes come with Windows. There are .NET PIAs and samples for it here: http://windowsmedianet.sourceforge.net/
Given that Ogg Vorbis is being adopted for the new HTML audio tag in (cough) some browsers, it's probably worth checking it out. You won't get bitten by any licensing concerns if you follow this route. If ease of deployment is top of your list, then go with WMA.
[tries hard not to start ranting about fragmented state of codec options in browsers and the commercial interests that scupper any concensus]

Resources