【ニコニコ】キュイン for iPhone

Posted by: daichi  /  Category: 開発後

加速度センサーとオーディオ周りの勉強がてら
キュインアプリを作りました。

<a href=”http://www.nicovideo.jp/watch/sm6629980″ mce_href=”http://www.nicovideo.jp/watch/sm6629980″>【ニコニコ動画】キュイン for iPhone</a>

音はAVAudioPlayerで再生。
コードはこんな感じ



?View Code OBJECTIVE-C
	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で再生されます。

加速度センサーまわりはこんな感じ

?View Code OBJECTIVE-C
    UIAccelerometer*  theAccelerometer = [UIAccelerometer sharedAccelerometer];
    theAccelerometer.updateInterval = 1 / 20;
    theAccelerometer.delegate = self;


viewDidLoadあたりで上記の加速度検知の準備をします。
加速度の検知は、アプリ内で共有するシングルトンなオブジェクトで行います。
[UIAccelerometer sharedAccelerometer]で取得できます。
accelerometer.updateIntervalで検知する間隔を設定。
ここでは1/20秒を設定。

加速度を検知するデリゲートは以下。

?View Code OBJECTIVE-C
#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”

  1. 匿名 Says:

    めちゃめちゃ欲しいです

コメント

Additional comments powered by BackType

Get Adobe Flash playerPlugin by wpburn.com wordpress themes