加速度センサーとオーディオ周りの勉強がてら
キュインアプリを作りました。
<a href=”http://www.nicovideo.jp/watch/sm6629980″ mce_href=”http://www.nicovideo.jp/watch/sm6629980″>【ニコニコ動画】キュイン for iPhone</a>
音はAVAudioPlayerで再生。
コードはこんな感じ
NSString *soundFilePath =
[[NSBundle mainBundle] pathForResource:@"kyuin" ofType:@"m4a"];
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:soundFilePath];
AVAudioPlayer *newPlayer =
[[AVAudioPlayer alloc] initWithContentsOfURL:fileURL
error:nil];
[fileURL release];
self.player = newPlayer;
[newPlayer release];
[self.player prepareToPlay];
[self.player setDelegate:self];
[player play]; |
バンドル内にkyuin.m4aという音声ファイルを用意して
そのファイルからAVAudioPlayerを作成してます。
playerのplayで再生されます。
加速度センサーまわりはこんな感じ
UIAccelerometer* theAccelerometer = [UIAccelerometer sharedAccelerometer];
theAccelerometer.updateInterval = 1 / 20;
theAccelerometer.delegate = self; |
viewDidLoadあたりで上記の加速度検知の準備をします。
加速度の検知は、アプリ内で共有するシングルトンなオブジェクトで行います。
[UIAccelerometer sharedAccelerometer]で取得できます。
accelerometer.updateIntervalで検知する間隔を設定。
ここでは1/20秒を設定。
加速度を検知するデリゲートは以下。
#define kFilteringFactor 0.1
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {
// ローパス値を現在の値から引いて、簡単なハイパスフィルタを取得する
accelX = acceleration.x - ( (acceleration.x * kFilteringFactor) + (accelX * (1.0 - kFilteringFactor)) );
accelY = acceleration.y - ( (acceleration.y * kFilteringFactor) + (accelY * (1.0 - kFilteringFactor)) );
accelZ = acceleration.z - ( (acceleration.z * kFilteringFactor) + (accelZ * (1.0 - kFilteringFactor)) );
// この加速度データを使用する |
タグ: EIN, iphone, NSString, objecti, objective-c, アプリ, キュイン, ニコニコ, 動画, 検知, 音
関連する投稿
One Response to “【ニコニコ】キュイン for iPhone”
コメント
Additional comments powered by BackType

6月 28th, 2009 at 9:59 AM
めちゃめちゃ欲しいです