AVAudioPlayerでパン

iOS 4.0でAVAudioPlayerにpanのプロパティが追加された。
プロパティに値を設定するだけで、簡単にパンニングができる。
設定できる値は-1.0~1.0。
-1.0で左寄りに、0.0で中央に、1.0で右寄りになる。


//  AVPlayerViewController.m
//  AVPlayer
//
//  Created by nori on 10/12/01.
//  Copyright 2010 __MyCompanyName__. All rights reserved.
//

#import "AVPlayerViewController.h"
#import 
@implementation AVPlayerViewController

@synthesize avPlayer;





- (void)viewDidLoad {
    [super viewDidLoad];
	NSError *error = nil;
	NSString *path = [[NSBundle mainBundle] pathForResource:@"sample" ofType:@"mp3"];
	NSURL *url = [NSURL fileURLWithPath:path];
	self.avPlayer = [[[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error] autorelease];

	UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(0, 0, 320, 30)];
	slider.minimumValue = -1.0;
	slider.maximumValue = 1,0;
	slider.value = 0.0;
	slider.continuous = YES;
	[slider addTarget:self action:@selector(sliderDidChange:) forControlEvents:UIControlEventValueChanged];
	[self.view addSubview:slider];
	[slider release];
	
	[self.avPlayer play];
}

- (void)sliderDidChange:(UISlider *)slider{
	self.avPlayer.pan = slider.value;
}








- (void)didReceiveMemoryWarning {
	// Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];
	
	// Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
	// Release any retained subviews of the main view.
	// e.g. self.myOutlet = nil;
}


- (void)dealloc {
	self.avPlayer = nil;
    [super dealloc];
}

@end

広告

現在コメントは受け付けていません。

%d人のブロガーが「いいね」をつけました。