わかりました、それで、まったく音がないエクササイズのビデオがたくさんあるアプリがあります。
また、演習の開始時に、ユーザーがオーディオ ファイルを選択できるように、デバイスのミュージック プレーヤーからすべての mp3 ファイルを表示します。
ただし、ビデオが開始されるたびに、音楽プレーヤーが一時停止します。Music Player が再生し続け、Video も同時に再生されるようにするにはどうすればよいですか。
ビデオの場合、クラスを使用 -- MPMoviePlayerViewController
次のように追加されます。
self.movieplayerController = [[MPMoviePlayerViewController alloc] initWithContentURL:urlStr];
self.movieplayerController.moviePlayer.controlStyle = MPMovieControlStyleFullscreen;
self.movieplayerController.moviePlayer.fullscreen = YES;
self.movieplayerController.moviePlayer.view.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin;
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
[self presentModalViewController:movieplayerController animated:YES];
Music Player の場合、クラスは --- MPMusicPlayerController です。
オーディオは次のように選択され、再生されます。
- (void)mediaPicker: (MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection
{
[self dismissModalViewControllerAnimated: YES];
[self.musicPlayer stop];
[self.musicPlayer setQueueWithItemCollection:mediaItemCollection];
[self.musicPlayer play];
}
編集:
また、ビデオを再生するために AVPlayer を試してみましたが、成功しませんでした!
コードは次のとおりです。
AVPlayerItem *playerItem = [[AVPlayerItem alloc] initWithURL:urlStr];
AVPlayer *player = [[AVPlayer alloc] initWithPlayerItem:playerItem];
AVPlayerLayer *avPlayerLayer = [AVPlayerLayer playerLayerWithPlayer:player];
avPlayerLayer.frame = self.view.frame;
[self.view.layer addSublayer:avPlayerLayer];
[player play];