2014-02-28 2 views
0

텍스트, 오디오 및 비디오를보기 위해 로컬 html 파일을로드하는 인앱 브라우저로 앱을 제작하고 있습니다. 이 모든 미디어 파일을 Documents 디렉터리에 저장합니다. (MP4 포맷> 500메가바이트 - 파일 크기가 iOS 용 너무 큰입니까?) 문제는 그 장치의 응용 프로그램과 UIWebView로드 비디오 파일을 실행할 때입니다 항상 콘솔에서 경고를 얻을 :UIWebView가 큰 크기의 로컬 비디오 파일을 재생할 수 없습니다.

malloc: *** mmap(size=569212928) failed (error code=12) 
*** error: can't allocate region 
*** set a breakpoint in malloc_error_break to debug 

을 하지만 시뮬레이터에서 실행하면 잘 작동합니다.

그리고 100MB 정도되는 다른 비디오 파일로 바꿀 때 시뮬레이터와 장치 모두에서 작동했습니다. 내가 사용하는 기기는 iPhone 4s, iOS 6입니다.

내가 뭔가를 잃어 버렸는데? 오류 코드 12는 메모리 경고에 관한 것이므로 메모리 관리에 대해 뭔가해야합니까?

+0

아마도 도움이 될 것입니다. http://forums.coronalabs.com/topic/39736-a-crash-when-exiting-an-overlay-scene-with-a-webview-only-happens-in-ios- 장치 테스트/ – Radu

+0

안녕하세요 @ Rad 난 문제가 UIWebView 아니라고 생각합니다. 장치에서 실행할 때 충돌이 발생하지 않고 비디오의 프레임이 재생 단추를 통해 슬래시로 표시되므로 질문에서 언급 한대로 콘솔에서 경고 메시지를 표시하는 동안 비디오를 재생할 수 없습니다. . – JozackOverFlow

답변

0

나는 이것이 오래된 질문이라는 것을 알고 있지만, 나는 이것이 왜 일어나는지를 잘 알고있다. 나는 애플의 물리적 장치가 하드웨어 H264 디코더를 사용한다는 사실과 관련이 있다고 생각한다. <video> 태그를 사용하여 비디오를 재생하려고하면 디코더의 버퍼에 전체 내용을로드하려고 시도하는데 충분하지 않습니다.

스트리밍을 시도하면 (로컬 프로그레시브 다운로드 대신) 효과가 있다고 생각합니다. 그러나 그것은 훨씬 더 복잡합니다. 나는 그것이 소프트웨어와 관련이 없다고 생각한다. 하드웨어의 한계 때문인 것으로 나는 확신한다.

관련 문제