我在從具有基本http認證的URL播放電影時遇到問題。從需要訪問憑據的URL播放電影的MediaPlayer.framework(MPMoviePlayerController)
這裏是代碼:
NSURLCredential *credential = [[NSURLCredential alloc]
initWithUser:@"user"
password:@"password"
persistence:NSURLCredentialPersistenceForSession];
NSURLProtectionSpace *protectionSpace = [[NSURLProtectionSpace alloc]
initWithHost:@"moze.dyndns.org"
port:80
protocol:@"http"
realm:nil
authenticationMethod:NSURLAuthenticationMethodHTTPBasic];
[[NSURLCredentialStorage sharedCredentialStorage] setDefaultCredential:credential forProtectionSpace:protectionSpace];
NSURL *videoURL = [NSURL URLWithString:@"http://moze.dyndns.org/test/test.mov"];
moviePlayerController = [[MPMoviePlayerViewController alloc] initWithContentURL:videoURL];
[moviePlayerController.view setFrame:self.view.bounds];
[self.view addSubview:moviePlayerController.view];
MPMoviePlayerController *mp = [moviePlayerController moviePlayer];
mp.controlStyle = MPMovieControlStyleDefault;
[mp prepareToPlay];
[[moviePlayerController moviePlayer] play];
我得到錯誤 「的操作無法完成(MediaPlayerErrorDomain錯誤-1013)。」,錯誤日誌中NULL,就像ACCESSLOG了。
我使用AuthType Basic的apache服務器,憑據是正確的,在Web瀏覽器上測試它們。如果禁用了認證,則播放沒有問題。
請幫忙,我找不到錯在哪裏。
這是完全有可能的,電影播放器不諮詢URL憑證存儲,因爲它沒有在內部使用URL加載系統:( –
那麼有沒有其他的方式來從需要認證的網址播放媒體? – Moze
我很想我知道你是否想出了這個問題,我同意Mike Abdullah關於不使用你設置的憑證,我看到了同樣的問題,我也有問題,一旦我成功設置證書,我不能刪除它們。我找到的解決方案都沒有幫助。 – SteveB