2013-01-18 70 views
1

最近我已經開始iOS應用程序開發工作。這些天我正在研究一個音樂播放器,它必須具有以下功能:如何通過http鏈接以mp3格式在iOS6應用中播放歌曲?

- 從php web服務中歌曲的在線緩衝。 - 播放,暫停,停止,下一首歌曲,上一首歌曲。 - 兩個滑塊,一個用於音量控制,另一個用於顯示歌曲的播放時間。 -shuffle,重複歌曲。

我已經試過這些東西與AVPlayer和AVAudioPlayer,但在AVAudioPlayer是不可能的流從url的數據我認爲,因爲我已經嘗試了很多,然後我通過使用AVplayer這樣做,但它不支持像音量控制選項甚至緩衝也不適合,如果緩衝在某個點停止,則必須再次按播放按鈕。我需要緊急幫助這個音頻播放器任何教程任何例子,我可以很容易理解,因爲我在這個領域是新的。 這裏是

NSURL *url = [[NSURL alloc] initWithString:@"http://www.androidmobiapps.com/extrememusic/app/songs/1.mp3"]; 

[self setupAVPlayerForURL: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]; 

調用這首歌的代碼}

- (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"); 
    } 
} 

}

回答

0

我所做的功能,您上面提到的一類,並開放它的來源。無論你想直接使用這個類,還是把它當作AVFoundation初學者的例子。祝你好運!

在GitHub上觀看本回購here

相關問題