小编Avn*_*ner的帖子

如何避免.pyc文件?

我可以在不生成编译的.pyc文件的情况下运行python解释器吗?

python

261
推荐指数
7
解决办法
11万
查看次数

在字符串字段修改到位时,我可以强制ActiveRecord保存模型吗?

我有一个具有长字符串字段的ActiveRecord模型.实际上,这个字符串表示一个我想要就地修改而不是复制整个字符串的数组.

例如,假设Somemodel有一个字符串字段array.然后以下无法保存:

m = Somemodel.first
m.array[someindex] = somevalue
m.save
Run Code Online (Sandbox Code Playgroud)

实际上,save返回true似乎检查它array是否相同object_id并确定模型没有改变并跳过往返数据库.

我最终使用了以下解决方法:

m = Somemodel.first
a = String.new(m.array) # remember, the array is represented as a string
a[someindex] = somevalue
m.array = a
m.save
Run Code Online (Sandbox Code Playgroud)

请注意,m.array必须在修改其值后进行设置,因为save它不仅仅是查看值object_id.

这感觉很麻烦,需要复制整个字符串.不适合大型阵列.在没有前面的验证测试的情况下,我可以告诉save我们绕过这些is-model-modified检查吗?

activerecord ruby-on-rails

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

我可以使用AVCaptureSession将AAC流编码到内存吗?

我正在编写一个iOS应用程序,通过网络传输视频和音频.

我使用AVCaptureSession用抢原始视频帧AVCaptureVideoDataOutput然后对其编码,在软件使用X264.这非常有效.

我想对音频做同样的事情,只是我不需要在音频方面那么多控制,所以我想使用内置的硬件编码器来产生AAC流.这意味着从Audio Toolbox层使用Audio Converter.为了做到这一点,我为AVCaptudeAudioDataOutput的音频帧添加了一个处理程序:

- (void)captureOutput:(AVCaptureOutput *)captureOutput
didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer
       fromConnection:(AVCaptureConnection *)connection 
{
    // get the audio samples into a common buffer _pcmBuffer
    CMBlockBufferRef blockBuffer = CMSampleBufferGetDataBuffer(sampleBuffer);
    CMBlockBufferGetDataPointer(blockBuffer, 0, NULL, &_pcmBufferSize, &_pcmBuffer);

    // use AudioConverter to
    UInt32 ouputPacketsCount = 1;
    AudioBufferList bufferList;
    bufferList.mNumberBuffers = 1;
    bufferList.mBuffers[0].mNumberChannels = 1;
    bufferList.mBuffers[0].mDataByteSize = sizeof(_aacBuffer);
    bufferList.mBuffers[0].mData = _aacBuffer;
    OSStatus st = AudioConverterFillComplexBuffer(_converter, converter_callback, (__bridge void *) self, &ouputPacketsCount, &bufferList, NULL);
    if (0 == st) { …
Run Code Online (Sandbox Code Playgroud)

aac audio-recording avfoundation ios avcapturesession

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

如何在 AVCaptureSession 上设置音频采样率?

我正在使用AVCaptureSession使用AVCaptureVideoDataOutputAVCaptureAudioDataOutput将视频和音频录制到示例缓冲区中。

iPhone(4 和 4S)的默认音频采样率为 44100Hz。我想将其设置为 48000Hz,但是 AVCaptureSession 似乎没有任何音频采样率设置。

我曾尝试使用AVAudioSession来更改硬件采样率(使用 setPreferredHardwareSampleRate),但尽管它报告硬件采样率已更改(激活会话后),但这不会影响我在 AVCaptureAudioDataOutput 的示例委托中获得的实际采样率。

有没有办法从 AVCaptureSession 本身设置音频采样率?

audio sample-rate ios avcapturesession

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

Android:同步视频播放和录制

我正在开发像Android应用程序的视频聊天.我可以同时在屏幕上录制和播放视频吗?我可以将视频组合在一起(FaceTime风格)还是必须并排?我可以使用MediaPlayer和MediaRecorder类,还是必须使用较低级别的API?

media video android recorder media-player

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