0
을 재생하는 이 아닌 AVPlayer에 문제가 있습니다.AVPlayer가 백그라운드에서 스트리밍 트랙을 전달하지 않습니다.
여기에 세부 사항을이다 :
내가 AVPlayer를 객체와있는 NSMutableArray에 저장된 링크에서 음악을 스트리밍하는 내보기 컨트롤러의 인스턴스 변수로 AVPlayerItem, linkArray 있습니다.
musicPlayerItem = [[AVPlayerItem alloc] initWithURL:[NSURL URLWithString:[linkArray objectAtIndex:indexPath.row]]];
player = [[AVPlayer alloc] initWithPlayerItem:musicPlayerItem];
을 ... 그리고 완벽하게 재생 : 사용자가 jQuery과의 트랙을 트랙을 탭하면, 두 개체는과 같이 인스턴스화된다. 앱이 활성 인 인 동안 트랙이 끝날 때마다 정상적으로 건너 뛰거나 앱을 수동으로 실행하여 트랙을 건너 뛸 수 있습니다 (활성 또는 배경 여부). 그러나 앱이 백그라운드에있을 때 (기기가 잠긴 경우 포함) 건너 뛰면 다음 트랙을 재생하지 않습니다.
따라서 다음 트랙으로 건너 뛰지 만 재생하지는 않습니다. 앱을 다시 활성화하거나 재생을 호출해야합니다 (헤드폰 컨트롤이나 시스템 전체의 음악 컨트롤을 통해).
if (nowPlaying == [linkArray count]-1) {
nowPlaying = 0;
musicPlayerItem = [[AVPlayerItem alloc] initWithURL:[NSURL URLWithString:[linkArray objectAtIndex:0]]];
player = [[AVPlayer alloc] initWithPlayerItem:musicPlayerItem];
} else {
NSLog(@"NowPlaying (before increment: %i", nowPlaying);
//If not, increment nowPlaying by one and play
nowPlaying++;
NSLog(@"NowPlaying (after increment: %i", nowPlaying);
musicPlayerItem = [[AVPlayerItem alloc] initWithURL:[NSURL URLWithString:[linkArray objectAtIndex:nowPlaying]]];
player = [[AVPlayer alloc] initWithPlayerItem:musicPlayerItem];
}
정말 사람이