2014年12月15日 星期一

在iOS App實作Airplay Audio功能

前言

由於Airplay開發者能控制的部分還不多,所以只能透過在自訂播放介面加入MPVolumeView的方式開啟Airplay的功能。

實作

如果需要包含內建的音量控制元件

MPVolumeView *volumeView = [ [MPVolumeView alloc] init] ;
[view addSubview:volumeView];

如果不需要

MPVolumeView *volumeView = [ [MPVolumeView alloc] init] ;
[volumeView setShowsVolumeSlider:NO];
[volumeView sizeToFit];
[view addSubview:volumeView];

在iOS裡聲音可以分為兩大類,App sound跟System sound,System sound做為按鍵回饋或是警示聲使用,剩下的就是App sound。在MPVolumeView選擇了Airplay裝置之後,系統會自動把App sound導到支援Airplay的裝置上。

在iOS7,MPVolumeView新增了兩個property

@property areWirelessRoutesAvailable;  
@property isWirelessRouteActive; 

以及兩個通知

NSString *const MPVolumeViewWirelessRoutesAvailableDidChangeNotification;  
NSString *const MPVolumeViewWirelessRouteActiveDidChangeNotification; 

可以偵測到有airplay以及使用者改變了airplay route,如果想要在偵測到可以使用Airplay裝置時加入動畫這會是一個好的實作方法。

沒有留言:

張貼留言