在 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 上录制视频的主要内容,如果未能解决你的问题,请参考以下文章