2010-05-08 8 views
2

안드로이드 - 안드로이드 mediarecorder와 관련하여 setMaxFileSize를 설정할 수있는 최대 파일 크기는 얼마입니까? 나는 그것이 4147483650과 5147483650 사이 인 것을 압니다. 왜 처음에는 한계가 있습니까?Android - Mediarecorder의 최대 최대 파일 크기는 무엇입니까?

SDCARD에 기록하여 실행하기 전에 카드 공간의 크기를 감지합니다.

"ERROR/AuthorDriver (31) setParameter를 (MAX-파일 크기 = 7,270,309,850)가 결과적으로 실패 -5 ' "ERROR/AuthorDriver (31) : LN 903 handleSetParameters ("MAX-파일 크기 = 7270309850") 오류 " 을 "ERROR/AndroidRuntime (409) : java.lang.RuntimeException : setMaxFileSize 못했습니다."

답변

2

처음으로 곳에 한도가 있습니까?

SD 카드는 파일 크기 제한이있는 msdos (FAT16) 파일 시스템을 사용합니다. 이것은 Android 제한 사항이 아니라 일반적으로 SD 카드의 제한 사항입니다.

+1

답장을 보내 주셔서 감사합니다. 미시시피의 유산을 아직도 알고 기쁘다 ... arrrgh !! –

0

나는 안드로이드 레코더에서도 작업하고 있습니다.

은 StatFs를 사용하고 외부 저장소 디렉토리의 경로를 생성자에 전달하므로 StatFs 객체에서 getAvailableBlocks() 및 getBlockSize()와 같은 함수를 호출 할 수 있습니다.

이렇게하면 SD 카드에서 사용할 수있는 공간이 얼마나되는지 알 수 있습니다.

+0

아, 그래, 그게 내가 사용했던거야. 그 부분은 효과가 있었고, 4Gb를 넘어 파일을 만들 때 위의 문제가 발생했습니다. 예를 들어 2Gb SD 카드에 녹화하는 경우 위의 제한 사항을 볼 수 없습니다. 두 개의 4Gb 파일을 생성하고 차례로 재생할 수 있습니다. –

1

AuthorDriver.cpp에서 보면 전달 된 시간 값이 16 비트 int에 맞는지 확인하는 작업이 수행됩니다. "PV API는 이것을 uint16에 맞추기를 기대합니다."라는 코멘트가 있습니다. 그래, 지금은이 문제를 해결할 방법이없는 것 같습니다.

1

나는 GS5, Hauwei Y550, Note 3을 시도했으며 4096 MB보다 긴 파일 (공식 카메라 응용 프로그램 포함)을 기록 할 수 없습니다. 이로 인해 1080p 비디오는 35 분으로, 4K 비디오는 20 분 미만으로 제한됩니다. 그 이유는 Shane-Kirk이 제공 한 것입니다 (32 비트 제외).

모든 세부 사항이 포함 된 Android 소스 코드의 개선 문제를 열었습니다. 주연을 고려해 보려는 경우 AuthorDriver.cpp에 더 많은 패치를 적용 할 가능성이 높습니다.

https://code.google.com/p/android/issues/detail?id=145618&q=mediarecorder&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars

관련 문제