オーディオをストリーミングするためのシンプルなアプリを作成します。また、ボリューム ボタンとの連携も完璧です。バックグラウンド モードで再生します。しかし、「サイレントスイッチ」を切り替えると、音楽がまだ再生されます。なんで?
- (void)viewDidLoad
{
[super viewDidLoad];
self.player = [AVPlayer playerWithURL:[NSURL URLWithString:@"http://87.98.235.103:9768/"]];
}
- (void)viewDidUnload
{
[self setPlayBtn:nil];
[self setStopBtn:nil];
[super viewDidUnload];
// Release any retained subviews of the main view.
}
- (IBAction)pressedPlay:(id)sender {
[self.player play];
}
- (IBAction)pressedStop:(id)sender {
[self.player pause];
}
アプリケーション didFinishLaunchingで:
NSError *sessionError = nil;
[[AVAudioSession sharedInstance] setDelegate:self];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:&sessionError];
UInt32 doChangeDefaultRoute = 1;
AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryDefaultToSpeaker, sizeof(doChangeDefaultRoute), &doChangeDefaultRoute);
そして、plistには次のものがあります:
Required background modes: App plays audio