NSArray의 모든 노래를 재생한다고 가정하고 하나만 재생하고 중지합니다. 내가 도대체 뭘 잘못하고있는 겁니까? 배열에는 다른 .mp3 형식의 노래에 대한 전체 링크가 포함되어 있습니다. 대신 항목 대신 AVQueuePlayer
를 사용 MPMoviePlayerController
이 목록을 재생 얻으려고 노력의NSArray를 반복 함
NSArray *array = [myString componentsSeparatedByString:@"\n"];
int nextTag = 1;
for (soundPath in array) {
NSURL *url = [NSURL URLWithString:soundPath];
asset = [AVURLAsset URLAssetWithURL:url options:nil];
yourMediaPlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
yourMediaPlayer.controlStyle = MPMovieControlStyleNone;
yourMediaPlayer.currentPlaybackTime = 0;
yourMediaPlayer.shouldAutoplay = FALSE;
[yourMediaPlayer play];
nextTag++;
}
1. 인덱스를 추적 할 필요가 없습니다 빠른 열거를 사용하고 있기 때문에, 이것이'nextTag'가하는 것이라고 가정합니다. 2. 각 반복마다 새로운 'MPMoviePlayerController'를 만들고 노래 재생이 완료되었는지 여부에 관계없이 새 노래를로드하고 있습니다. – jcm
@jcm 그렇다면 루프에서 MPMoviePlayerController를 제거하고 바깥에 놓아야한다는 말입니까? 그렇게하면 음악은 한 번만 재생됩니다. –
또한 다음 곡을로드하기 전에 노래가 끝날 때까지 기다리지 않아도됩니다. – jcm