Xamarin and play videos with FairPlay or other DRM - xamarin

I'm trying to stream a content from Azure Media Services, but I can't get it to work, so I'm wondering if it's doable, and if so, how do I achieve it? The content is protected by FairPlay. Similar issues on Android and Windows.
I tried to use Xamarin Media Player but it doesn't work with FairPlay because it requires an ExoPlayer2 implementation which is not yet in the plugin.

I don't think that is possible with the current version of the Xamarin Media Manager. Let me also correct the mistaken assumption about ExoPlayer2. ExoPlayer is a strictly Android only playback component, and so has nothing to do with FairPlay at all, as FairPlay is Apple only technology.
For FairPlay to work, you have to listen to events that are specific for FairPlay to handle the license exchange. Those do not seem to be implemented in Xamarin Media Manager as far as i can see. So you would have to do those platform specific implementations yourself. Information about these can be found on the Apple Developer site.
For Android, you would likely want to go with Widevine, which is implemented in ExoPlayer. I can't find any documentation for Xamarin Media Manager on how to set that up either though.

Related

AVPlayer + FairPlay + Offline, possible on MacOS X?

I have watched the WWDC session "Whats New in HTTP Live Streaming" https://developer.apple.com/videos/play/wwdc2016/504/ where it is described how to use AVPlayer for offline FairPlay playback.
A look at the documentation however seems to imply this is only possible for iOS (not MacOS) as all the classes described are iOS10 Only.
Is this not possible for MacOS? Any sources to confirm either way?
Thanks.
Eventually this question was posted on Apple Developer Forums and the response is that
Offline HLS is only supported on iOS at this time. Please do file an
enhancement request at bugreporter.apple.com if you have use cases for
macOS as well, including some details of the use case.
The thread is here : https://forums.developer.apple.com/thread/5529

How to get/set current volume level in Xamarin froms?

How to get device's current volume level and use that inside our application play sound? Also how to get notified about sound level changed by hardware button or software seekbar?
Xamarin.Forms doesn't have Audio API's yet, so you will need to implement the functionality for each platform on your own. However, there seems to be a library called Xamarin Audio Manager and it should do at least some of the things that you require, take a look at it here on GitHub.
You can then use the project as a good starting point for extending it to meet all your needs. Audio API's in both Android and iOS are relatively easy to understand.

Access system audio in UWP App

I would like to write an app that
accesses the audio by being played by the user in another app
analyzes that audio
displays the analysis to the user
however, I have not found anything that makes this seem possible. Can apps access access the audio being played through the user's speakers as a byte stream or is this not built into the API?
Can apps access access the audio being played through the user's
speakers as a byte stream or is this not built into the API?
You can do that(Loopback recording), but you need to program with low level APIs - WASAPI. For available APIs for UWP, check the Core Audio part in Win32 and COM for Windows Runtime apps and Universal Windows Platform (UWP) apps (multimedia)
Here is an old article for 8.1 app, but it still applies to UWP on concept level. And Microsoft has provided a sample on GitHub about WASAPI and Core Audio API, which may help you to familiar with the APIs and understand how to make it work in UWP app.
Use the MediaCapture class to capture audio. link to docs

Is there an official Apple API for streaming from a Mac app to Apple TV?

I have been searching high and low, but have so far been ineffable. I am now turning for the stackoverflow community for advice.
My goal is to build a Mac app in XCode, that will allow me to send MP4 content from my Mac (or from a public URL on the web) to my Apple TV.
I have located numerous classes within the framework for iOS that enables this (quite easily it seems), but the trail ends there. It just seems like there is no API to do the same from OSX, but I am hoping that I have overlooked something :-) There seems to be well established methods for sending audio to AirPlay enabled devices, but not video?
I am aware of the 3rd party specification of the protocol at http://nto.github.io/AirPlay.html, and it looks a tangible plan B for my needs, but I would appreciate any pointers if anyone knows of a more official way.

Is there a new Midi API for Windows Vista/7/8?

I know the midiXxx API, but I saw it is currently listed under 'legacy' in msdn.
http://msdn.microsoft.com/en-us/library/windows/desktop/dd743619(v=vs.85).aspx
Is there some other API i should use to target the newer Windows versions?
Will the old API still work on Windows 7 and 8?
Thanx,
Marc
Last Friday Microsoft released a preview Windows Runtime API for MIDI. Check out the //build/ session here:
http://channel9.msdn.com/Events/Build/2014/3-548
MSDN: http://msdn.microsoft.com/en-us/library/windows/apps/dn643522.aspx
Although a preview, apps can go live and be deployed to the Windows Store. Please let us know what you like or don't like. Happy app building!
For dektop applications (non metro) you can still use the legacy API safely.
Sadly for WinRT/Metro, there is no midi support at all (see this discussion on msdn).
Hope they will change that.
Catflier is correct that there is no direct support (at the API level) for MIDI in WinRT. However, if you are wanting to have MIDI-like capabilities in your app, there are workarounds. A protocol growing in popularity is the network-based OSC (Open Sound Control). Since it is network-based, you can use that.
For example, one can use external hardware like The Missing Link which translates from MIDI to OSC. You hook up your MIDI device to The Missing Link, which then translates to OSC messages that are sent to the computer. Your app can then receive OSC messages and talk to the MIDI device. I don't have any code to show here, but I've seen demos of this working in-action.
You can see OSC in use on iOS as well with popular apps like TouchOSC.

Resources