최근 iOS 응용 프로그램 개발 작업을 시작했습니다. 요즘 나는 다음과 같은 기능을 가지고 있어야 음악 플레이어에서 일하고있다 :http 링크에서 mp3 형식의 iOS6 앱에서 노래를 재생하는 방법은 무엇입니까?
- PHP 웹 서비스에서 노래의 온라인 버퍼링. - 재생, 일시 중지, 정지, 다음 노래, 이전 노래. - 두 개의 슬라이더 중 하나는 볼륨 조절 용이고 다른 하나는 노래 재생 시간 표시 용입니다. - 셔플, 반복 노래.
AVPlayer 및 AVAudioPlayer에서 이러한 작업을 시도했지만 AVAudioPlayer에서는 AVPlayer를 사용하여 많은 작업을 시도했지만 볼륨 컨트롤과 같은 옵션을 지원하지 않기 때문에 URL에서 데이터를 스트리밍 할 수 없습니다. 심지어 버퍼링은 어떤 시점에서 버퍼링이 멈 추면 재생 버튼을 다시 눌러야하는 것처럼 적절하지 않습니다. 이 오디오 플레이어의 튜토리얼에 대한 긴급한 도움이 필요합니다. 필자는이 분야에서 새로운 것으로 쉽게 이해할 수 있습니다. 다음은 클래스로 위에서 언급 한 나는 기능을했던 내가있는 viewDidLoad
-(void) setupAVPlayerForURL: (NSURL*) url {
AVAsset *asset = [AVURLAsset URLAssetWithURL:url options:nil];
AVPlayerItem *anItem = [AVPlayerItem playerItemWithAsset:asset];
audioPlayer = [AVPlayer playerWithPlayerItem:anItem];
[audioPlayer addObserver:self forKeyPath:@"status" options:0 context:nil];
에서이 노래를 부르고
NSURL *url = [[NSURL alloc] initWithString:@"http://www.androidmobiapps.com/extrememusic/app/songs/1.mp3"];
[self setupAVPlayerForURL:url];
코드}
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
if (object == audioPlayer && [keyPath isEqualToString:@"status"]) {
if (audioPlayer.status == AVPlayerStatusFailed) {
NSLog(@"AVPlayer Failed");
} else if (audioPlayer.status == AVPlayerStatusReadyToPlay) {
NSLog(@"AVPlayer Ready to Play");
} else if (audioPlayer.status == AVPlayerItemStatusUnknown) {
NSLog(@"AVPlayer Unknown");
}
}
}