标签: ios-camera

设置AVCaptureTorchModeOn

我想在进行视频录制时在我的应用程序中打开手电筒模式AVCaptureTorchModeOn.

我使用下面的代码.

-(void)set_TorchMode:(BOOL)turnOn
{
 AVCaptureDevice *theDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];

    if ([theDevice hasTorch]) {
        [theDevice lockForConfiguration: nil];
        AVCaptureTorchMode currentMode = [theDevice torchMode];
        BOOL isAlreadyTurnedOn = (AVCaptureTorchModeOn == currentMode);
        if (isAlreadyTurnedOn != turnOn) {
            [theDevice setTorchMode: turnOn? AVCaptureTorchModeOn: AVCaptureTorchModeOff];
        }

        [theDevice unlockForConfiguration];
    }    
}
Run Code Online (Sandbox Code Playgroud)

我在开始录音时打开这个方法打开,在停止录音时将其关闭.

我第一次录制它时工作正常,但是当第二次开始录制时,它开启但立即关闭.录制运行时它不会保持打开状态.

谢谢你的帮助.

iphone xcode camera ios-camera camera-flash

5
推荐指数
1
解决办法
1843
查看次数

如何在iOS8.1上使用Swift按序列拍摄多张照片(每张照片延迟1秒)?

我试图在单个用户点击相机预览后拍几张照片,这样我就可以呈现它们,用户可以选择一个时机最好或者在"电影条"模式下全部使用.预期的用户体验是:"我打开相机,拍照,然后我看到每秒拍摄5张照片.我没有按下'拍照'按钮5次,一个就足以启动序列" .

我是iOS和Swift的新手,我的工作基于'Swift Recipes'一书(https://www.safaribooksonline.com/library/view/ios-8-swift/9781491908969/).

拍摄单张照片的源代码是:

controller = UIImagePickerController()
    if let theController = controller{
        theController.sourceType = .Camera
        theController.mediaTypes = [kUTTypeImage as NSString]
        theController.allowsEditing = true
        theController.delegate = self
        presentViewController(theController, animated: true, completion: nil)
    }
Run Code Online (Sandbox Code Playgroud)

加上相关的图像处理(通过func imagePickerController).我尝试使用上面的控制器目标,但悲惨地失败了:(我相信这不是正确的方式来获得我想要的,但我很难找到合适的.任何帮助将不胜感激.

ios ios-camera swift ios8

5
推荐指数
1
解决办法
3373
查看次数

swift AVCapturePhotoOutput capturePhoto 挂起预览

以 1080 x 1440 显示预览;使用代码在 iPhone 8 Plus 上获取最大分辨率 (3024 x 4032) 和质量的照片:

capturePhotoOutput?.capturePhoto(with: configurePhotoSettings(), delegate: self)
Run Code Online (Sandbox Code Playgroud)

使用照片设置:

private func configurePhotoSettings() -> AVCapturePhotoSettings {
    let photoSettings = AVCapturePhotoSettings()
    photoSettings.isHighResolutionPhotoEnabled = true
    photoSettings.isAutoStillImageStabilizationEnabled = (capturePhotoOutput?.isStillImageStabilizationSupported)!
    photoSettings.isAutoDualCameraFusionEnabled = (capturePhotoOutput?.isDualCameraFusionSupported)!

    return photoSettings
}
Run Code Online (Sandbox Code Playgroud)

即使我在didFinishProcessingPhoto.


正在寻找使捕获顺利的解决方案,也许在后台线程中,但目前我被卡住了..

ios ios-camera swift

5
推荐指数
1
解决办法
183
查看次数

将相机图像抖动到 swift UIimage

我正在开发一个自定义颤振插件,我将颤振图像相机发送到 swift 并使用颤振相机插件(https://pub.dev/packages/camera)创建一个 UIImage 。为此,我使用此方法发送相机图像字节:

startImageStream((CameraImage img) {
    sendFrameBytes(bytesList: img.planes.map((plane) {
        return plane.bytes;
    }).toList(),
)}
Run Code Online (Sandbox Code Playgroud)

平面包含一个数组,其中包含图像的 RGBA 字节。在 swift 代码中,我将 RGBA 字节作为 NSArray 并创建一个像这样的 UIImage:

func detectFromFrame1(args:NSDictionary, result:FlutterResult){
    var rgbaPlan = args["bytesList"] as! NSArray
    let rgbaTypedData = rgbaPlan[0] as! FlutterStandardTypedData
    let rgbaUint8 = [UInt8](rgbaTypedData.data)
    let data = NSData(bytes: rgbaUint8, length: rgbaUint8.count)
    let uiimage = UIImage(data: data as Data)
    print(uiimage)
}
Run Code Online (Sandbox Code Playgroud)

问题是rgbaTypedData,rgbaUint8,data不为空,创建的uiimage总是nil,不明白问题出在哪里。

ios dart ios-camera swift flutter

5
推荐指数
1
解决办法
522
查看次数

getUserMedia 在 safari iOS 上返回旋转视频

我需要通过 webrtc 流式传输视频并在网页上播放它,它在所有桌面浏览器窗口和 mac 操作系统上都能正常工作。它也适用于 Android 浏览器。但在 Safari iOS 上,视频会横向旋转。它在两者上旋转(当使用 iOS safari 捕获视频时以及在 chrome 或 safari 桌面上接收流时)。我使用 safari iOS 的 webrtc 网站上的默认基本 getUserMedia 示例演示对其进行了测试,并且存在同样的问题。如何解决它或者是否还有其他解决方案?

mobile-safari html5-canvas webrtc getusermedia ios-camera

5
推荐指数
1
解决办法
1933
查看次数

我如何使用AVCaptureFlashMode

我正在制作一个应用程序,允许我将图像拼接成一个全景场景.我希望能够以编程方式打开iPhone 4上的闪光LED.

我怎样才能做到这一点?

我阅读了文档并发现我需要使用AVCaptureFlashMode

但我无法弄清楚2如何使用它?

任何帮助,将不胜感激.


更新了以下代码.谢谢SIF!

NSError* error = nil;
    NSLog(@"Setting up LED");

    if([captDevice hasTorch] == NO)
    {
        NSLog(@"Error: This device doesnt have a torch");
    }
    if([captDevice isTorchModeSupported:AVCaptureTorchModeOn] == NO)
    {
        NSLog(@"Error: This device doesnt support AVCaptureTorchModeOn");
    }

    AVCaptureSession* captureSession = [[AVCaptureSession alloc] init];
    AVCaptureDeviceInput* videoInput = [[AVCaptureDeviceInput alloc] initWithDevice:captDevice error:&error];
    AVCaptureVideoDataOutput* videoOutput = [[AVCaptureVideoDataOutput alloc] init];

    if (videoInput && videoOutput) 
    {
        [captureSession addInput:videoInput];
        [captureSession addOutput:videoOutput];
        if([captDevice lockForConfiguration:&error])
        {
            if (flag == YES) {
                captDevice.torchMode = AVCaptureTorchModeOn;
            } else …

cocoa camera ios4 ios-camera camera-flash

4
推荐指数
1
解决办法
4524
查看次数

对 UIImagePickerController 的重拍和使用照片按钮的西班牙语支持

我正在开发一个支持西班牙语内容的应用程序,这是我通过本地化字符串实现的。

现在我想知道是否有任何方法可以为按钮RetakeUse PhotoUIImagePickerController提供西班牙语支持

下面附有图片以供参考。

在此输入图像描述

uiimagepickercontroller nslocalizedstring ios ios-camera swift

4
推荐指数
1
解决办法
2442
查看次数

通过 iOS 应用程序以编程方式打开相机 - 深层链接?

我想创建一个IBAction来在我的应用程序中打开iOS本机相机应用程序,但我似乎无法在线找到相机应用程序的地址。

我知道消息是:UIApplication.shared.open(URL(string: "sms:")!, options: [:], completionHandler: nil)

有谁知道哪个是正确的方案?

deep-linking ios ios-camera swift

4
推荐指数
1
解决办法
9560
查看次数

iOS:在相机打开并拍照时播放其他应用程序中的音乐

我也检查了谷歌和这里。也许这个问题还没有被问过,或者我只是以一种非常奇怪的方式问它。有一些应用程序,我特别注意到的是 Snapchat,当应用程序打开时,即使打开或关闭相机,甚至在静音开关打开或关闭的情况下拍照,音乐也会继续播放。相机的声音也消失了。

举个例子,现在我正在通过 Soundcloud 听音乐,当我打开我的应用程序时,音乐停止播放,但是一旦我将这行代码放入我的方法中,我就可以在使用我的应用程序时按播放并继续播放appWillEnterForeground音乐:[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil];

当我在 Snapchat 中执行此操作时,音乐会继续播放。即使我也拍视频!

如何?

audio avfoundation ios ios-camera

3
推荐指数
1
解决办法
2607
查看次数

在 Swift 3.0 中录制视频时 Flash 不起作用

我正在开发相机应用程序。我使用了一个按钮来在需要时打开和关闭闪光灯模式。此方法非常适用于捕获静止图像,不适用于视频模式。下面是我的代码,请帮忙。TIA

class func setFlashMode(_ flashMode: AVCaptureFlashMode, for device: AVCaptureDevice) {
    if device.hasFlash && device.isFlashModeSupported(flashMode) {
        do {
            try device.lockForConfiguration()
            device.flashMode = flashMode
            device.unlockForConfiguration()
        }
        catch
        {
            print("Error:-\(error)")
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Flash 按钮操作

@IBAction func flashButtonClicked(_ sender: UIButton)
{
 sender.isSelected = !sender.isSelected
    if !(sender.isSelected)
    {
        sender.setTitle(NSLocalizedString("OFF", comment: ""), for: UIControlState.normal)
        CameraVC.setFlashMode(AVCaptureFlashMode.off, for: self.videoDeviceInput.device)
    }
    else
    {
        sender.setTitle(NSLocalizedString("ON", comment: ""), for: UIControlState.normal)
        CameraVC.setFlashMode(AVCaptureFlashMode.on, for: self.videoDeviceInput.device)
    }
}
Run Code Online (Sandbox Code Playgroud)

视频按钮操作

@IBAction func videoButtonClicked(_ sender: UIButton)
{       
    self.sessionQueue.async {
        if !self.movieFileOutput.isRecording
        {
            if UIDevice.current.isMultitaskingSupported
            { …
Run Code Online (Sandbox Code Playgroud)

ios ios-camera camera-flash swift2 swift3

3
推荐指数
1
解决办法
1224
查看次数