有没有其他人注意到 MPMoviePlayerController 类的 playableDuration 属性在 iOS 5 中总是返回 0。这在以前的 iOS 版本中可以正常工作。我用它来设置进度条的值。
这是一段在 4.x SDK 下正常工作的代码(即 playableDuration 属性在缓冲流时返回正确的非零值),但在 SDK 5.x 下它总是返回零。
- (void) updateMeter {
NSLog(@"playableDuration = %f", streamPlayer.playableDuration);
}
- (void)viewDidLoad
{
[super viewDidLoad];
streamPlayer = [[MPMoviePlayerController alloc]
initWithContentURL:[NSURL URLWithString:@"http://99.198.118.250:8158/"]];
NSTimer *updateBarTimer = [NSTimer scheduledTimerWithTimeInterval:0.5
target:self selector:@selector(updateMeter)
userInfo:nil repeats:YES];
streamPlayer.controlStyle = MPMovieControlStyleEmbedded;
[streamPlayer play];
}