Streaming music on your website through custom player / application (iTunes) - 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.

Related

Parsing HLS manifest of live stream in Safari to retrieve time-based metadata

I am using native Safari player implementation to stream video with HLS streaming protocol.
My goal is to get time-based metadata (such as EXT-X-DATERANGE) from a live stream manifest.
As far as I know, it is not possible to retrieve this data because the streaming logic is fully controlled by the Safari player which does not expose this data.
For now, I came to the 2 possible solutions:
Manually download the manifests and parse out the EXT-X-DATERANGE tag. But with this approach, the download timer should be manually managed too. And, of course, the number of requests for the playlists will be increased.
Desktop Safari browser supports MSE. This means it is possible to have full control over manifest retrieving and parsing. There are awesome libraries that already provide this functionality, such as shaka-player or hls.js. It is possible to implement custom response filter for segments(shaka-player) or listen to Hls.Events.FRAG_CHANGED event (hls.js) in order to have access to the playlist. The problem is that Safari in IOS mobile still does not support the MSE. So it is not possible to apply this solution for mobiles.
Are there any other ways to retrieve time-based metadata (such as EXT-X-DATERANGE) using native Safari player implementation?
Thanks a lot in advance!

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.

Play a stream with Windows.Media.Playback.MediaPlayer?

In Windows Phone 8.1, I want to play an internet radio station with Windows.Media.Playback.MediaPlayer. I'm aware of a sample which plays mp3 files with MediaPlayer.SetUriSource. However, I don't know how to play a stream. I see MediaPlayer.SetStreamSource, but it appears to be for random access streams which support seek, etc. I'm not sure it's for live streams.
Which method should I use?
Any tutorials or docs on this? I couldn't find any.
You could have a look at the Windows Phone Streaming Media library, which supports live streaming and HLS formats.
http://phonesm.codeplex.com/

Create a custom desktop YouTube player

I want to create an application capable to play YouTube video's audios and also save the downloaded content in a local cache, therefore when the user decides to resume or play the video again, then it doesn't have to download part of video again but only download the remaining part (User can decide what to do with the cache then, and how to organize it).
It is also very convenient for mobiles (it is my main focus) but I'd like to create a desktop one too for experimental purposes.
So, my question itself is, does YouTube provide any API for this? I mean, in order to cache the download content I need that my application download the content and not any embed player (also remember that it is a native application). I have a third-party application in my Android system that plays YouTube videos, so I think it's possible unless that the developers use some sort of hack, again this is what I don't know.
Don't confuse with the web gdata info API and the embed API, this is not what I want, what I want is to handle the video transfer.
As far as I know, there is no official API for that. However, you could use libquvi to look up the URLs of the real video data, or you could have a look at how they do it and reimplement it yourself (see here).

Can you obtain audio stream data to the System output device using CoreAudio?

Is it possible to obtain a stream of audio data arriving at the system output (speakers, headphones, etc.) using CoreAudio or another framework?
Example: You're listening to a song on iTunes while watching a YouTube video, all while playing a computer game that makes sounds of its own, all of which are being played through your computer's speakers (Probably terribly annoying). My app would need to receive the entire mix as streaming data.
Thanks in advance.
Not at a user application's Core Audio or other app framework level. Some audio output capture/snoop apps may do this with a kernel extension (kext), or perhaps a replacement audio hardware driver.