小编Mat*_*ell的帖子

AVAssetWritter不适用于音频

我正在尝试将音频用于iOS应用程序的视频.视频很好.文件中没有录制音频(我的iPhone扬声器工作.)

这是init设置:

session = [[AVCaptureSession alloc] init];
    menu->session = session;
    menu_open = NO;
    session.sessionPreset = AVCaptureSessionPresetMedium;
    camera = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
    microphone = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeAudio];
    menu->camera = camera;
    [session beginConfiguration];
    [camera lockForConfiguration:nil];
    if([camera isExposureModeSupported:AVCaptureExposureModeContinuousAutoExposure]){
        camera.exposureMode = AVCaptureExposureModeContinuousAutoExposure;
    }
    if([camera isFocusModeSupported:AVCaptureFocusModeContinuousAutoFocus]){
        camera.focusMode = AVCaptureFocusModeContinuousAutoFocus;
    }
    if([camera isWhiteBalanceModeSupported:AVCaptureWhiteBalanceModeContinuousAutoWhiteBalance]){
        camera.whiteBalanceMode = AVCaptureWhiteBalanceModeContinuousAutoWhiteBalance;
    }
    if ([camera hasTorch]) {
        if([camera isTorchModeSupported:AVCaptureTorchModeOn]){
            [camera setTorchMode:AVCaptureTorchModeOn];
        }
    }
    [camera unlockForConfiguration];
    [session commitConfiguration];
    AVCaptureDeviceInput * camera_input = [AVCaptureDeviceInput deviceInputWithDevice:camera error:nil];
    [session addInput:camera_input];
    microphone_input = [[AVCaptureDeviceInput deviceInputWithDevice:microphone error:nil] retain];
    AVCaptureVideoDataOutput * …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c avfoundation ios avassetwriter

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

在C中生成正态分布随机值的算法?

可能重复:
将均匀分布转换为正态分布

你好.

我想知道在C中实现的任何算法,它可以取0到1之间的随机值,平均值和标准差,然后返回正态分布的结果.

我现在没有足够的脑力来为自己解决这个问题.

我在互联网上找不到任何有用的东西.

谢谢.

c random algorithm statistics

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

在'interface'/'interface'iOS Error(损坏的Xcode?)之前,这里不能指定任何类型或存储类

此接口提供错误:

@interface VideoFeedCollector : NSObject{
    @public
    NSData * received_data;
    int feed_id;
    BOOL transmitting;
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

iphone xcode objective-c ios

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

C代码行在完全不相关的代码行上导致分段错误

根据Xcode中的堆栈跟踪,我的程序在这里断开并给出了EXC_BAD_ACCESS:

int main (int argc, const char * argv[]) {
    float usd,btc,bid,ask,order_price,possible_price;
    DateData * prices = load_prices(); <---

DateData * load_prices(){
    FILE * file = fopen("price.dat", "rb"); <---
Run Code Online (Sandbox Code Playgroud)

我确定这与该行代码无关,而是后来的代码.在直到稍后才调用的函数中,有一行代码似乎破坏了程序.当它从执行行之前的函数返回时,程序没有这个问题,但如果它应该从行后的函数返回,则存在这个问题.

代码行是对OpenCL的调用.它是否以某种方式破坏了该计划?

err = clEnqueueReadBuffer(ocl_data->commands, ocl_data->output, CL_TRUE, 0, sizeof(CombinationResult) * PPO_COMBINATIONS, (*PPO_results)[x] + PPO_COMBINATIONS*(p + 5), 0, NULL, NULL); 
Run Code Online (Sandbox Code Playgroud)

PPO_COMBINATIONS定义为整数宏,PPO_results的类型为CombinationResult(*)[3] [PPO_COMBINATIONS*11].ocl_data-> commands的类型为cl_command_queue,ocl_data-> output的类型为cl_mem.错误,p和x的类型为int.

我正在使用Xcode和"Apple LLVM Compiler 3.0"."LLVM GCC 4.2"编译器出于某种原因给出了"架构i386的格式错误的元数据记录".

这是使用命令行编译和运行gdb时的结果:

Matthew-Mitchell:Parrallel BitCoin Trading Algorithm matt$ gcc -g cmain.c -o test -lcurl -framework OpenCL -std=c99 -arch i386
Matthew-Mitchell:Parrallel BitCoin Trading Algorithm matt$ gdb …
Run Code Online (Sandbox Code Playgroud)

c exc-bad-access llvm opencl segmentation-fault

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

Perl正则表达式替换:替换特定字符串,如果另一个特定字符串不在同一行上

我有这样的文字:

Hi
... OK ... Replace ...
... BAD ... Replace ...
Hi
Run Code Online (Sandbox Code Playgroud)

当且仅当"BAD"不在同一行的任何位置时,我想用"完成"替换所有"替换"字符串.因此,唯一应该修改的行是我给出的示例中的第二行.我正在努力做到这一点,我尝试了以下不起作用:

perl -i'' -pe 's/^(?!BAD)Replace/$1Done/g' TEST

这可以在一个单独的表达式中完成,就像我正在尝试做的那样吗?

regex perl substitution regex-negation

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

"没有分配被释放的指针"由于某种原因,内存块不会解除分配

我很难找到为什么我不能释放内存块.指针必定有问题.用于结构的存储块在函数中进行,并且所使用的指针存储在数组中.稍后,从数组中取出指针以释放内存.

我已经弄清楚它是免费的.我把"//这一个"放在旁边.

#include <stdlib.h>

typedef enum {
    INT = 0,
    FLOAT = 1,
    STRING = 2,
    NONE = 3,
    BOOL = 4
} TYPE;

typedef struct {
    TYPE type;
    void * data;
} Variable;

typedef Variable ** var; //Convenience typedef for pointer to variable pointer

typedef struct {
    size_t size;
    Variable *** pool; //Pointer to the array of pointers to the Variable structure pointers. Pointer required for memory allocation and array consists of pointers to pointers so the pointers to …
Run Code Online (Sandbox Code Playgroud)

c malloc pointers memory-management

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

POSIX保证写入磁盘

据我所知,如果我想将数据同步到存储设备,我可以使用fsync()来刷新所有操作系统输出缓存......但显然它根本不能保证这一点,不像文档试图欺骗你,数据可能无法写入磁盘!

这对于许多目的来说并不是很好,因为它可能导致数据损坏.如何使用POSIX库(如果可能,以便携方式)保证数据已写入(尽可能)并防止数据损坏?

有fdatasync(),但它没有在OSX上实现,所以有更好,更便携的方式,还是必须在不同的系统上实现不同的代码?我也不确定fdatasync()是否足够好.

当然,在最糟糕的情况下,我可以忘记这一点,并使用一个使用ACID存储数据的冗余数据库.我不希望这样.

另外,我对如何确保截断和重命名操作已经完成感兴趣.

谢谢!

c io file-io storage posix

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

对于共享库中的符号,"未定义引用"

可能重复:
Linux上的链接器错误:"未定义引用"

我将这样的共享库链接在一起:

core : $(CORE_OBJS) | bin
    $(CC) $(LFLAGS) -o bin/libcbitcoin$(LIBRARY_EXTENSION) $(CORE_OBJS)
Run Code Online (Sandbox Code Playgroud)

其中生成库文件libcbitcoin.2.0.so.

但是当链接到库的可执行文件被创建时,链接器会抱怨每个符号都有未定义的引用.makefile链接可执行文件,如下所示:

$(TEST_BINARIES): bin/%: build/%.o
    $(CC) -lcbitcoin.$(LIBRARY_VERSION) -lpthread -lcbitcoin-crypto.$(LIBRARY_VERSION) -lcbitcoin-network.$(LIBRARY_VERSION) -lcbitcoin-file-ec.$(LIBRARY_VERSION) -lcbitcoin-storage.$(LIBRARY_VERSION) -lcbitcoin-rand.$(LIBRARY_VERSION) -L/opt/local/lib -levent_core -levent_pthreads -lcrypto -L$(BINDIR) $< -o $@
Run Code Online (Sandbox Code Playgroud)

这给出了链接器选项-lcbitcoin.2.0.

当我尝试为Linux Mint而不是OSX构建时,我只会遇到此问题.完整的makefile在这里:https://github.com/MatthewLM/cbitcoin/blob/newNetworkCode/Makefile.in

autoconf文件在这里(如果在任何情况下它很重要):https://github.com/MatthewLM/cbitcoin/blob/newNetworkCode/configure.ac

谢谢你的帮助.

c linux gcc shared-libraries ld

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

Android Activity 错误地重新定位到应用程序任务

我有一个应用程序,它具有大多数活动的常规任务行为,但它也有一个需要启动到创建它的任务的活动。

该活动是从哑剧类型发起的。如果另一个应用程序启动该活动,则该活动应显示在同一任务中。然而,该活动始终会重新确定其应用程序任务的父级。尽管明确设置allowTaskReparenting为,但还是如此false

当应用程序中没有其他活动时,活动会在启动它的任务中正确启动。仅当任务中存在应用程序的其他活动时,它才重新确定父级。

如何让该 Activity 仅在启动它的 Activity 之上启动,与同一应用程序的其他 Activity 分开?以下是 AndroidManifest.xml 的相关部分:

<activity
    android:name="com.matthewmitchell.peercoin_android_wallet.ui.RestoreWalletActivity"
    android:configChanges="orientation|keyboard|keyboardHidden"
    android:theme="@style/My.Theme.Dialog"
    android:allowTaskReparenting="false" >
    <intent-filter android:label="@string/import_keys_intent_filter_action" >
        <action android:name="android.intent.action.VIEW" />

        <category android:name="android.intent.category.DEFAULT" />

        <data android:mimeType="application/x-peercoin-wallet-backup" />
        <data android:mimeType="application/octet-stream" />
    </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

android android-manifest android-intent android-activity android-task

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

将UIWebView安装到UITableViewCell中

我想将UIWebView添加到单元格中.HTML数据会发生变化,发生这种情况时我会调用reloadData.

问题是,UIWebView变化很好但我无法让UITableViewCell正确匹配高度.我尝试过这个解决方案并且失败了......

加载webview时:

- (void)webViewDidFinishLoad:(UIWebView *)aWebView {
    CGRect frame = aWebView.frame;
    int old_height = frame.size.height;
    frame.size = CGSizeMake(280, 0);
    aWebView.frame = frame;
    float content_height = [[aWebView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"] floatValue];
    frame = aWebView.frame;
    frame.size = CGSizeMake(280, content_height + 20);
    aWebView.frame = frame;
    NSLog(@"SIZES - %i - %i",old_height + 4,(int) frame.size.height);
    if(old_height + 4 != frame.size.height){
        [self.tableView reloadData];
    }
}
Run Code Online (Sandbox Code Playgroud)

返回单元格的高度:

return webview.frame.size.height + 20;
Run Code Online (Sandbox Code Playgroud)

第一次加载后,单元格的大小不正确.很难弄清楚如何做到这一点.我需要向下拉伸整个内容以适应细胞.

谢谢.

iphone objective-c uiwebview uitableview ios

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

Android警报未触发

我试图用android触发警报但它不起作用.我的代码没有给出Toast或"ALARMOFF"消息.我有这个BroadcastReceiver:

public class AlarmReceiver extends BroadcastReceiver {

    public static void addAlarm(Context context){
        Log.i("infodb","ADDEDALARM");
        AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
        Intent intent = new Intent(context,AlarmReceiver.class);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(context,0,intent,0);
        am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 5000, pendingIntent);
    }

    @Override
    public void onReceive(Context context, Intent intent) {
        PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
        PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "");
        wl.acquire();
        Toast.makeText(context, "Alarm !!", Toast.LENGTH_SHORT).show(); // For example
        Log.i("infodb","ALARMOFF");
        wl.release();
    }

}
Run Code Online (Sandbox Code Playgroud)

在清单我<receiver android:name=".AlarmReceiver" />以及<uses-permission android:name="android.permission.WAKE_LOCK" />

在ListView中打开开关时会触发警报.这个代码在扩展的SimpleCursorAdapter类的bindView方法中:

@Override
    public void bindView(View v, Context context, Cursor …
Run Code Online (Sandbox Code Playgroud)

java android alarmmanager

0
推荐指数
1
解决办法
1371
查看次数

使vim命令在初始窗口上工作,如NERDTree,MiniBufExplorer和CtrlP

我在推出vim时打开NERDTree和MiniBufExplorer,所以我有三个窗口.每当我使用上述插件时,文件/缓冲区都会显示在正确的窗口中,这是最初的窗口.但是每当我使用命令这样:e ~/.vimrc的命令工作在包含光标的窗口时.这意味着我必须始终记住将光标移动到用于编辑的窗口.我想知道是否有办法让命令在该窗口上工作,无论光标在哪里,或者文件缓冲区是否会自动出现在该窗口中?

我正在寻找一种方法让光标移动到右侧窗口时:(或者我可以使用的其他一些键)被按下,但是我无法找到方法,因为无法识别窗口(或者是否存在?).

vim

0
推荐指数
1
解决办法
1206
查看次数