《世界因你不同 : 李开复自传》

“每一次放弃与选择,都是舍与得的对应。”

“人生在世,我们要用勇气改变可以改变的事情,用胸怀接受不能改变的事情,并用智慧分辨二者的不同。”

“我不同意你,但我支持你!”

“lead,don't follow.(引领,不要跟随)。”

“don't do evil(永不作恶)。”

“抓住一切去探寻生命的意义,总有一天,世界将因你不同。”

条形码 for iOS

  • Kaywa Reader is one of the most impressive commercial readers. Notably, it can recognize codes in a video stream from the phone's camera. The user never needs to press a button to take a picture.
  • Libdmtx* is an open source (LGPL) library for decoding Datamatrix codes. It is designed to be highly portable, and it is written in C. It was recently made available again after a year-long break.
  • ZXing* is an open source (Apache 2.0) application recently released by Google that aims to "support decoding of QR Codes, Data Matrix, and the UPC family of 1D barcodes."
  • Open Source QR Code Library* - This is an open source decoding library from Japan.

 

Kinect hardware

Electric motor

3 sections of mainboard

Cooling fan

Two cameras

IR projector

4 microphones

Four different kinds of screws

15 chips including:

Wolfson Stereo ADC with microphone preamp

Fairchild N-Channel PowerTrench MOSFET

NEC USB 2.0 hub controller

Unidentified SAP package chip

Camera interface controller

Marvell SoC camera interface controller

Hynix 512Mb DDR2 SDRAM

Analog Devices CMOS Rail-to-Rail Output Operational Amplifier

TI 8-bit, 8-channel Sampling A/D converter

Allegro low voltage stepper and single/dual motor driver

ST 8Mbit NV flash memory

PrimeSense image sensor processor

TI USB audio controller

Kionix accelerometer

iOS录音问题

问题描述
AD的iPad版有一个鼓掌互动的应用。换了前后三套类库,如下:
SCListener:https://gist.github.com/72914
AVAudioRecorder:http://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVAudioRecorder_ClassReference/Reference/Reference.html
SpeakHere:http://developer.apple.com/library/ios/#samplecode/SpeakHere/Introduction/Intro.html

问题分析
首先使用SCListener,发现模拟器上正常使用,但是真机不能监听声音。再使用AVAudioRecorder,发现还是有以上真机不能监听的问题。
最后使用SpeakHere,可以监听,但是有一个bug。就是:真机上,声音监听过就不能播放video,而模拟器上一切正常。

问题解决
原来录音和播放使用的是一个通道,需要手动设置当前通道的状态。而模拟器上就可以忽略这种限制。
修改通道为录音的代码如下:
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryRecord error:nil];

修改通道为播放的代码如下:
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayback error:nil];

播放前修改为播放,录音前修改为录音,一切OK了。

PS:后来发现只要修改对应的通道,AVAudioRecorder在真机上也可以用了。