小编Ale*_*ich的帖子

AVCapture在iOS 7中以60 fps捕获和获取帧缓冲

我正在开发一个应用程序,它需要尽可能多地捕获帧缓冲区.我已经想出如何强制iPhone以60 fps的速度捕获但是

- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection
Run Code Online (Sandbox Code Playgroud)

方法每秒只被调用15次,这意味着iPhone将捕获输出降级为15 fps.

有人遇到过这样的问题吗?是否有可能提高捕获帧率?

更新我的代码:

camera = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if([camera isTorchModeSupported:AVCaptureTorchModeOn]) {
   [camera lockForConfiguration:nil];
   camera.torchMode=AVCaptureTorchModeOn;
   [camera unlockForConfiguration];
}
[self configureCameraForHighestFrameRate:camera];

// Create a AVCaptureInput with the camera device
NSError *error=nil;
AVCaptureInput* cameraInput = [[AVCaptureDeviceInput alloc] initWithDevice:camera error:&error];
if (cameraInput == nil) {
   NSLog(@"Error to create camera capture:%@",error);
}

// Set the output
AVCaptureVideoDataOutput* videoOutput = [[AVCaptureVideoDataOutput alloc] init];

// create a queue to run the capture on
dispatch_queue_t captureQueue=dispatch_queue_create("captureQueue", NULL);

// setup …
Run Code Online (Sandbox Code Playgroud)

iphone camera frame-rate ios avcapturesession

18
推荐指数
2
解决办法
2万
查看次数

与Ogg Vorbis合作

我有一个ogg vorbis文件,我必须用它做两个操作:

  1. 将文件的一部分从一个位置切割到另一个位置
  2. 将另一个文件与现有文件合并

如何在C#中实现这两个操作?

.net c# audio ogg

5
推荐指数
2
解决办法
4703
查看次数

使用MapViewOfFile映射大型文件

我有一个非常大的文件,我需要以小块读取它,然后处理每个部分.我正在使用MapViewOfFile函数来映射内存中的一块,但在读完第一部分后我无法读取第二部分.当我试图映射它时它会抛出.

    char *tmp_buffer = new char[bufferSize];
    LPCWSTR input = L"input";   
    OFSTRUCT tOfStr;
    tOfStr.cBytes = sizeof tOfStr;

    HANDLE inputFile = (HANDLE)OpenFile(inputFileName, &tOfStr, OF_READ); 
    HANDLE fileMap = CreateFileMapping(inputFile, NULL, PAGE_READONLY, 0, 0, input);

    while (offset < fileSize)
    {
        long k = 0;
        bool cutted = false;
        offset -= tempBufferSize;

        if (fileSize - offset <= bufferSize)
        {
            bufferSize = fileSize - offset;
        }

        char *buffer = new char[bufferSize + tempBufferSize];

        for(int i = 0; i < tempBufferSize; i++)
        {
            buffer[i] = tempBuffer[i];
        } …
Run Code Online (Sandbox Code Playgroud)

c++ winapi file-mapping

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

标签 统计

.net ×1

audio ×1

avcapturesession ×1

c# ×1

c++ ×1

camera ×1

file-mapping ×1

frame-rate ×1

ios ×1

iphone ×1

ogg ×1

winapi ×1