在 iPhone 3G 上录制视频

Posted

技术标签:

【中文标题】在 iPhone 3G 上录制视频【英文标题】:Recording video on an 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];

任何帮助将不胜感激。

谢谢。

【问题讨论】:

【参考方案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 上录制视频的应用程序。我应该使用其他方法吗?

【讨论】:

以上是关于在 iPhone 3G 上录制视频的主要内容,如果未能解决你的问题,请参考以下文章

在 iPhone 上录制并以 iPad 分辨率导出视频?(视频示例)

我可以在 iPhone 4 上录制视频的同时播放音频吗?

录制iphone时视频放大和缩小

如何开始在 iPhone Sdk 中自动录制视频

前置摄像头视频录制 iPhone 4?

可以在 iPhone 设备屏幕关闭模式下录制视频吗?