1

現在、AVPlayerItem を使用して URL からライブ ストリームを再生しています。私のコードは

- (void)viewDidLoad
{
    AVPlayerItem* playerItem = [AVPlayerItem playerItemWithURL:[NSURL URLWithString:@"http://s4.voscast.com:8080/"]];

    [playerItem addObserver:self forKeyPath:@"timedMetadata" options:NSKeyValueObservingOptionNew context:nil];

    AVPlayer* player = [[AVPlayer playerWithPlayerItem:playerItem] retain];
    [player play];

    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}
- (void) observeValueForKeyPath:(NSString*)keyPath ofObject:(id)object
                         change:(NSDictionary*)change context:(void*)context {

    if ([keyPath isEqualToString:@"timedMetadata"])
    {
        AVPlayerItem* playerItem = object;

        for (AVMetadataItem* metadata in playerItem.timedMetadata)
        {
            NSLog(@"\nkey: %@\nkeySpace: %@\ncommonKey: %@\nvalue: %@", [metadata.key description], metadata.keySpace, metadata.commonKey, metadata.stringValue);
        }
    }
}

これを一時停止して、中断したところから再開し、早送りしてライブに戻ることができる方法はありますか?

4

1 に答える 1

0

とを使用[player pause][player play]てストリーミングを一時停止および再開できますが、通常のトラック (mp3 ファイルなど) として離れた時点から再開することはできません。カーラジオのオン/オフと同じ効果が得られます。

それを達成するには、「一時停止」中にストリームをバックグラウンドでバッファリングしてから再現する必要がありますが、かなり複雑だと思います。手伝うことは出来ません。

于 2013-05-26T21:13:41.550 に答える