5

我想从需要 OAuth2 身份验证的源流式传输音频文件,这是我的代码,但它不起作用。

NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url];

        [req setValue:[NSString stringWithFormat:@"Bearer %@", accessToken] forHTTPHeaderField:@"Authorization"];

        player = [AVPlayer playerWithURL:req.URL];
        [player play];

你能帮忙吗?

4

1 回答 1

2

问题是您将身份验证令牌添加为 HTTP 标头,但随后仅使用 URL 发出请求(并且标头不包含在 URL 中)。

我需要在我的应用程序中做类似的事情,但它看起来不可能干扰 AVPlayer 的网络请求(至少,不是公共 API)。所以现在我正在考虑使用 NSURLSession 自己请求文件(这意味着没有流式传输 - 必须等待整个文件,或者进行一些复杂的处理以将其分块交给音频播放器),或者捏造网络服务接受我的参数作为查询参数而不是 HTTP 标头。

这个问题也有一些潜在的解决方法:Send headers with AVPlayer request in iOS

于 2015-04-24T15:24:16.883 回答