problem
hmm mam już kod działający prawie dokładnie tak jak chce... prawie bo... mimo iż jest wpisane : song[i].numberOfLoops = 1;
Utwór mimo to odtwarzany jest na okrągło... ktoś ma jakiś pomysł? oto kod:
#import "AccelerometerViewController.h"
@implementation AccelerometerViewController
@synthesize button1,button2,button3, button4;
- (IBAction) changeSong1: (id) sender{
[song[0] stop];
[song[2] stop];
[song[3] stop];
[song[4] stop];
currentSong = 1;
[self setText:currentSong];
}
- (IBAction) changeSong2: (id) sender{
[song[0] stop];
[song[1] stop];
[song[3] stop];
[song[4] stop];
currentSong = 2;
[self setText:currentSong];
}
- (IBAction) changeSong3: (id) sender{
[song[0] stop];
[song[2] stop];
[song[1] stop];
[song[4] stop];
currentSong = 3;
[self setText:currentSong];
}
- (IBAction) changeSong4: (id) sender{
[song[0] stop];
[song[2] stop];
[song[3] stop];
[song[1] stop];
currentSong = 4;
[self setText:currentSong];
}
- (void)setText:(NSInteger) n{
switch (n) {
case 1:
{
[button1 setTitle:@"Song 1 (current)" forState:UIControlStateNormal];
[button2 setTitle:@"Song 2" forState:UIControlStateNormal];
[button3 setTitle:@"Song 3" forState:UIControlStateNormal];
[button4 setTitle:@"Song 4" forState:UIControlStateNormal];
}
break;
case 2:
{
[button1 setTitle:@"Song 1" forState:UIControlStateNormal];
[button2 setTitle:@"Song 2 (current)" forState:UIControlStateNormal];
[button3 setTitle:@"Song 3" forState:UIControlStateNormal];
[button4 setTitle:@"Song 4" forState:UIControlStateNormal];
}
break;
case 3:
{
[button1 setTitle:@"Song 1" forState:UIControlStateNormal];
[button2 setTitle:@"Song 2" forState:UIControlStateNormal];
[button3 setTitle:@"Song 3 (current)" forState:UIControlStateNormal];
[button4 setTitle:@"Song 4" forState:UIControlStateNormal];
}
break;
case 4:
{
[button1 setTitle:@"Song 1" forState:UIControlStateNormal];
[button2 setTitle:@"Song 2" forState:UIControlStateNormal];
[button3 setTitle:@"Song 3" forState:UIControlStateNormal];
[button4 setTitle:@"Song 4 (current)" forState:UIControlStateNormal];
}
}
}
- (void) accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *) acceleration {
if (angle == 0) tempAngle = [acceleration y];
else tempAngle = angle;
angle = [acceleration y];
if ( (angle > 0) && (tempAngle <= 0.5) )
{
[song[currentSong] play];
NSLog(@"song %i play", currentSong);
}
else if ( (angle < -0) && (tempAngle >= -0.45) )
{
[song[0] pause];
[song[1] pause];
[song[2] pause];
[song[3] pause];
[song[4] pause];
NSLog(@"pause");
}
//NSLog(@"%f",angle);
}
- (void)viewDidLoad {
[[UIAccelerometer sharedAccelerometer] setUpdateInterval:(1.0/30.0f)];
[[UIAccelerometer sharedAccelerometer] setDelegate:self];
NSURL *url[5];
NSError *error;
for (int i = 0 ; i < 5; i++)
{
url[i] = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/song%i.caf", [[NSBundle mainBundle] resourcePath] , i ]];
song[i] = [[AVAudioPlayer alloc] initWithContentsOfURL:url[i] error:&error];
song[i].numberOfLoops = 1;
if (song[i] == nil) NSLog(@"lol");
}
[song[0] stop];
[song[2] stop];
[song[3] stop];
[song[4] stop];
[song[1] stop];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
- (void)viewDidUnload {
}
- (void)dealloc {
[song[0] release];
[song[1] release];
[song[2] release];
[song[3] release];
[button1 release];
[button2 release];
[button3 release];
[button4 release];
[super dealloc];
}
@end