如何在iPhone应用程序中播放远程.mp3,并完全控制播放控件和显示的视觉效果?我知道MPMoviePlayerController可以流式传输.mp3s,但它占据整个屏幕。
如果您能指出适当的指南或课程参考方向,那就太棒了。
答案 0 :(得分:1)
我不认为AVAudioPlayer支持流式mp3。根据我的经验,我有理由相信它只播放本地文件。
我使用AVPlayer播放了远程mp3。
self.player = [[AVPlayer alloc] initWithURL:fileURL];
//inits the AVPlayer object.
[player addObserver:self forKeyPath:@"status" options:0 context:nil];
// You need to watch for for when the player obeject becomes ready to play, using key-value observation
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
if(object == player && [keyPath isEqualToString:@"status"])
{
playButton.enabled = YES;
playButton.titleLabel.text = @"Play";
.....
//do whatever you need to do here to get the object ready to play.
}
}
一个简单的[播放器播放]将开始播放该文件。
//metadata is available at
player.currentItem.asset.commonMetadata
//and time played can be calculated by dividing x by y
UInt64 x = self.player.currentTime.value;
int32_t y = self.player.currentTime.timescale;
int secs = x/y;
答案 1 :(得分:0)
您可能想要使用AVAudioPlayer并创建自己的控件。
我不知道MPMediaPlayer是否可以播放流式MP3,但它可以在“app”播放器中播放本地媒体,而不是“ipod”播放器(接管屏幕)。 MPMediaPlayer类似于AVAudioPlayer,您可以使用或不使用任何可以创建的UI进行游戏。播放,暂停,停止,快退,转发等