在線視頻
在播放在線視頻的時候,如果網速很慢,視頻會卡住不動,在有效的時間內,如果數據緩沖過來,視頻可以繼續往下播放,如果長時間得不到數據,播放器就會失效。
邊下邊播視頻
邊下邊播的視頻也存在以上情況,還存在更加奇葩的現象,拖動滑竿<seekToTime>
的時候,如果超出緩沖區域外去播放,這個時候如果網速比較慢,有可能會卡住,還可能畫面卡住,但是有聲音。
現在解決的辦法是:滑竿拖到某處開始播放的時候先暫停,等到緩沖了足夠播放的數據后,再讓其開始播放,在等在的過程中,加一個菊花轉,增加用戶體驗。
附上常用網絡錯誤碼
#網絡中斷:-1005
#無網絡連接:-1009
#請求超時:-1001
#服務器內部錯誤:-1004
#找不到服務器:-1003
oc
enum { NSURLErrorUnknown = - 1 ,
NSURLErrorCancelled = - 999 ,
NSURLErrorBadURL = - 1000 ,
NSURLErrorTimedOut = - 1001 ,
NSURLErrorUnsupportedURL = - 1002 ,
NSURLErrorCannotFindHost = - 1003 , NSURLErrorCannotConnectToHost = - 1004 , NSURLErrorDataLengthExceedsMaximum = - 1103 , NSURLErrorNetworkConnectionLost = - 1005 , NSURLErrorDNSLookupFailed = - 1006 , NSURLErrorHTTPTooManyRedirects = - 1007 , NSURLErrorResourceUnavailable = - 1008 , NSURLErrorNotConnectedToInternet = - 1009 , NSURLErrorRedirectToNonExistentLocation = - 1010 , NSURLErrorBadServerResponse = - 1011 , NSURLErrorUserCancelledAuthentication = - 1012 , NSURLErrorUserAuthenticationRequired = - 1013 , NSURLErrorZeroByteResource = - 1014 , NSURLErrorCannotDecodeRawData = - 1015 , NSURLErrorCannotDecodeContentData = - 1016 , NSURLErrorCannotParseResponse = - 1017 , NSURLErrorInternationalRoamingOff = - 1018 , NSURLErrorCallIsActive = - 1019 ,
NSURLErrorDataNotAllowed = - 1020 ,
NSURLErrorRequestBodyStreamExhausted = -1021, NSURLErrorFileDoesNotExist = -1100, NSURLErrorFileIsDirectory = -1101, NSURLErrorNoPermissionsToReadFile = -1102, NSURLErrorSecureConnectionFailed = -1200, NSURLErrorServerCertificateHasBadDate = -1201, NSURLErrorServerCertificateUntrusted = -1202, NSURLErrorServerCertificateHasUnknownRoot = -1203, NSURLErrorServerCertificateNotYetValid = -1204, NSURLErrorClientCertificateRejected = -1205, NSURLErrorClientCertificateRequired = -1206, NSURLErrorCannotLoadFromNetwork = -2000, NSURLErrorCannotCreateFile = -3000, NSURLErrorCannotOpenFile = -3001, NSURLErrorCannotCloseFile = -3002, NSURLErrorCannotWriteToFile = -3003, NSURLErrorCannotRemoveFile = -3004, NSURLErrorCannotMoveFile = -3005, NSURLErrorDownloadDecodingFailedMidStream = -3006, NSURLErrorDownloadDecodingFailedToComplete = -3007 }