【问题标题】:Recording video on an iPhone 3G在 iPhone 3G 上录制视频
【发布时间】:2010-09-14 20:46:31
【问题描述】:

我正在编写一个使用 UIImagePickerController 类在 iPhone 上录制视频的应用程序。

该应用程序在 iPhone 4 和 iPhone 3GS 上运行良好,但在 iPhone 3G 上出现错误。

iPhone 3G 是否有限制我无法录制视频?

我收到以下错误:

2010-09-14 16:27:15.507 VideoRecorder[245:307] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“源 1 没有可用类型” * 首次抛出时调用堆栈:

调用时出现错误:

imagePicker.cameraCaptureMode=UIImagePickerControllerCameraCaptureModeVideo;

imagePicker.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeMovie];

任何帮助将不胜感激。

谢谢。

【问题讨论】:

    标签: iphone video uiimagepickercontroller recording


    【解决方案1】:

    这是不干净也不正式的东西。

    碰巧这些开发者通过在他们的应用程序中加入私有 API 以某种方式“欺骗”了 Apple。

    由于我不能在我的回复中放超链接(因为声誉问题),我在这里引用一个博客的一句话:

    这个应用程序(摄像机)使用我过去写过的长期列入黑名单的 UIGetScreenImage() 函数工作。

    另一个应用程序是“iVideoCamera”。 然而 cmets 声称这些应用程序远非良好,视频质量很差。

    由此得出的结论是,iPhone 3G 无法录制视频,但如果你是一个优秀的骗子,你可以从中赚钱:D

    除此之外,您想要做的事情没有官方支持。这就解释了为什么您的应用程序在 iPhone 3Gs 和 iPhone 4 上运行顺畅。

    【讨论】:

    • 谢谢。这解释了很多。
    【解决方案2】:

    iOS 4 上的所有选择器 API 都已更改。验证 3G 是否安装了 iOS 4

    【讨论】:

    • 两个 3G 都安装了 4.01
    【解决方案3】:

    我收到了来自 Apple 的以下回复:

    iPhone 3G 不支持视频录制,因此无法进行视频模式。您可以使用以下方法遍历支持的捕获模式列表:

    + (NSArray *)availableCaptureModesForCameraDevice:(UIImagePickerControllerCameraDevice)cameraDevice.
    

    如果该模式不在列表中,则不支持。

    我无法理解的是,目前 AppStore 上有几个可以在 3G 上录制视频的应用程序。我应该使用其他方法吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-11
      • 2011-11-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多