如何将自定义HTTP标头字段添加到HLS的AVPlayer请求

Fra*_*ank 5 objective-c avfoundation ios avplayer

我们正在使用AVPlayer播放HLS流,但我们有一个新要求,即我们需要提供自定义HTTP标头字段以从后端团队中识别客户端.是否可以向AVPlayer请求添加自定义HTTP标头字段,而无需使用黑客HLS播放列表文件来使用自定义协议?

Dvy*_*vyz 5

我在网上找到了这个答案.我在我的测试应用程序中使用它,但由于这是一个未记录的功能,苹果可能会拒绝.但从技术上讲,这是一个选择.

NSMutableDictionary* headers = [NSMutableDictionary dictionary];
[headers setObject:@"SOF" forKey:@"X-REQ-HEADER-TEST"];

AVURLAsset* asset = [AVURLAsset URLAssetWithURL:myUrl options:@{@"AVURLAssetHTTPHeaderFieldsKey": headers}];
AVPlayerItem* item = [AVPlayerItem playerItemWithAsset:asset]; 
[avPlayerObj replaceCurrentItemWithPlayerItem:item];
Run Code Online (Sandbox Code Playgroud)

使用AVURLAssetHTTPHeaderFieldsKey是有问题的.