【发布时间】:2014-03-05 02:40:17
【问题描述】:
我正在尝试从 URL 播放流,但这里有一个问题。 ObserveValueForKeyPath:ofObject:change:context 只是不执行。据我了解,它不依赖于streamURL,它是否正确。它必须将状态从 AVPlayerItemStatusUnknown 更改为 AVPlayerItemStatusReadyToPlay 或 AVPlayerItemStatusFailed。但尽管如此,我在浏览器中检查了该 URL,它工作正常。所以有什么问题?我看过关于它的 WWDC 视频,它说,如果你有音频流,请使用 AVPLayerItem before AVAsset。
这是我的代码:
- (void) prepare
{
NSURL * trackStreamURL = [NSURL URLWithString:streamURL];
NSLog(@"STREAM URL: %@",trackStreamURL);
_playerItem = [AVPlayerItem playerItemWithURL:trackStreamURL];
[_playerItem addObserver:self forKeyPath:@"status" options:0 context:nil];
}
- (void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
NSLog(@"KEY PATH : %@", keyPath);
NSLog(@"CHANGE : %@", change);
}
提前致谢!
【问题讨论】:
标签: ios objective-c avfoundation