2015-01-25 3 views
0

삽입 된 YouTube 비디오가 포함 된 UIWebView (심지어 www.youtube.com 페이지)로 웹 페이지를로드하면 IOS7 또는 IOS8. 그러나 WKWebView (IOS8)로 전환하고 동일한 웹 페이지를로드하면 YouTube 동영상이 첫 번째 클릭에서 전혀 재생되지 않으며 YouTube 동영상 플레이어에서 이어지는 재생 클릭에서 두 번째 또는 두 번째 재생됩니다. 마치 버퍼 공간을 다 쓰고 멈추고 또 다시 두 번째 게임을 할 때까지 일시 중지합니다.내장 된 youtube 비디오가 WKWebView에서 재생되지 않는 반면 UIWebView에서는 정확히 동일한 비디오가 작동합니다.

Safari에서이 (또는 다른 모든) youtube 비디오가 동일한 LAN에서 처음부터 끝까지 재생됩니다. 마찬가지로, 앞서 언급했듯이, UIWebView는 IOS7 또는 IOS8 내부에는 아무런 문제가 없습니다. 따라서 연결 또는 연결을 통해 내 무선 데이터에 문제가되지 않습니다.

플레이어를 계속 움직여야합니까? WKWebViews의 스트리밍 비디오 버퍼 공간을 늘릴 수 있습니까?

답변

0

좋아요. 왜 이런 일이 일어나는 지, 그리고 아무도 그 문제의 영향을받지 않는 이유를 알아 냈습니다. WKWebView와 실제로 IOS 8은 IOS 8에서 다르게 작동하지 않는 여러 가지를 처리합니다. 그리고 이것은 하나입니다.

내 앱은 마이크에서 실시간으로 오디오를 샘플링합니다. 이것은 이전 버전의 IOS에서는 좋았지 만 WKWebView가 비디오 스트림을 시작할 때 IOS 8에서 오디오 샘플이이를 죽일 수 있습니다 (신만이 정확히 그 이유를 알고 있습니다).

그러나 WKWebView를 사용하여 오디오를 샘플링 할 수 있어야하지만 비디오가 재생 중일 때 반드시 수행 할 필요는 없습니다. 따라서 사용자가 YouTube 나 vimeo 또는 다른 스트리밍 비디오를 클릭 한 시점을 파악하고 스트리밍 중에 오디오 샘플러를 일시 중지하는 것이 좋습니다. 지금은 그 일을하는 법을 모르겠습니다.

또한 UIView 애니메이션을 사용할 때 IOS8과 이전 버전의 또 다른 차이점을 발견했습니다. IOS 8 이전에는 UIWebView에서 이미지 사이의 스왑을 애니메이션으로 만들 수 있었고 애니메이션은 지속 시간을 설정하고 애니메이션을 활성화 할 필요가없는 한 지속되었습니다.

[UIView beginAnimations:@"fade1" context:nil]; 
    [UIView setAnimationDuration:1.0]; 
    [UIView setAnimationsEnabled:YES]; 
    [UIView commitAnimations]; 

지금 iOS8의에서, 분명히 그렇지 않으면 당신의 UIView 애니메이션, 예상치 못한, 심지어 기본 행동의 모든 종류에 적용, 리스너를 설정하고 완료 후 애니메이션을 해제해야합니다. UIWebView에서 웹 페이지를 세로로 스크롤 할 때 또는 기본 목록을 손가락으로 스크롤하는 것과 같습니다. 애니메이션을 사용하지 않도록 설정하면 다른 오브젝트에 이러한 이상한 영향이 사라집니다.

[UIView setAnimationsEnabled:NO]; 

이제 커밋이하는 일에 대해 완전히 혼란 스럽습니다. 더 이상 IOS 8에서는 필요하지 않은 것 같습니다.

관련 문제