Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

Martijn van Dijk Xablu @mhvdijk Cross platform media in Xamarin

Slide 3

Slide 3 text

Progress is teamwork

Slide 4

Slide 4 text

Media Audio Video mp3 aac mp4 avi mkv Image jpeg png

Slide 5

Slide 5 text

Image Cross-platform images

Slide 6

Slide 6 text

Image in code // IBitmap is a type that provides basic image information such as dimensions IBitmap profileImage = await BitmapLoader.Current.Load(imageBytes, null, null); // ToNative always converts an IBitmap into the type that the platform // uses, such as UIBitmap on iOS or BitmapSource in WPF ImageView.Source = ViewModel.ProfileImage.ToNative(); // This works in a Portable Library, or even in your ViewModel Var ProfileBackgroundAccentColor = new Color(255, 255, 255, 255); ImageView.Background = ViewModel.ProfileBackgroundAccentColor.ToNativeBrush();

Slide 7

Slide 7 text

Let’s have a look Cross-platform images

Slide 8

Slide 8 text

Video Cross-platform video

Slide 9

Slide 9 text

Video ○ High bandwidth ○ Subtitles ○ Audio

Slide 10

Slide 10 text

Let’s have a look at Video

Slide 11

Slide 11 text

Audio Cross-platform audio playback

Slide 12

Slide 12 text

Audio Streaming ○ Cloud ○ Live broadcast Local playback ○ SD-card ○ Local storage

Slide 13

Slide 13 text

Let’s have a look Cross-platform playback

Slide 14

Slide 14 text

Android ● Android Support V4 ○ MediaSessionCompat ○ MediaControllerCompat ○ PlaybackStateCompat ○ MediaBrowserServiceCompat ○ NotificationCompat ○ MediaButtonReceiver

Slide 15

Slide 15 text

UX / UI ● People spend more time using other apps than yours ● (Unless you’re Facebook) ● Users appreciate standard patterns over original solutions ● An understandable user interface is crucial for a good user experience

Slide 16

Slide 16 text

Notifications ● Native controls that users are familiar with

Slide 17

Slide 17 text

Handling states ○ Wifi ○ 3g/4g ○ Offline ○ Background

Slide 18

Slide 18 text

Let’s have a look Implementing cross- platform media in MvvmCross

Slide 19

Slide 19 text

Get help on Slack xamarinchat.herokuapp.com Follow influencers @Mhvdijk @migueldeicaza @JamesMontemagno @Cheesebaron + Many more! Join on LinkedIn linkedin.com/ Contribute on Github github.com/Xamarin github.com/MvvmCross 19 Get involved!

Slide 20

Slide 20 text

Martijn van Dijk Xablu @mhvdijk Thanks for attending! Questions?