代码之家  ›  专栏  ›  技术社区  ›  andy_spoo

Android-MediaRecorder的最大文件大小是多少?

  •  2
  • andy_spoo  · 技术社区  · 16 年前

    android-对于androids MediaRecorder,setmaxfileSize可以设置的最大文件大小是多少?我知道它在4147483650和5147483650之间。为什么一开始就有限制?

    我正在录制SD卡,在我们运行之前检测卡空间的大小。

    “错误/作者驱动程序(31):SetParameter(max fileSize=7270309850)失败,结果为-5” “错误/作者驱动程序(31):ln 903 handlesetparameters(”max filesize=7270309850“)错误” “错误/AndroidRuntime(409):java.lang.RuntimeException:SetMaxFileSize失败。”

    4 回复  |  直到 11 年前
        1
  •  2
  •   CommonsWare    16 年前

    为什么第一个有限制 地点?

    SD卡使用MSDOS( FAT16 )文件系统,它有文件大小限制。这不是Android的限制,而是SD卡的一般限制。

        2
  •  1
  •   Shane Kirk    15 年前

    如果您在authordriver.cpp中查找,您将看到它执行检查,以查看您传入的时间值是否适合16位int。有一条注释显示“pv api希望它适合于uint16”。所以,是的,目前似乎没有办法解决这个问题。

        3
  •  1
  •   fededim    11 年前

    我试过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

        4
  •  0
  •   Namratha    16 年前

    我也在研究一台Android录音机。

    使用statfs并将外部存储目录的路径传递给构造函数,您可以在statfs对象上调用getAvailableBlocks()和getBlockSize()等函数。

    这样你就能知道SD卡上还有多少可用空间。