Object-C에서 배경음악 틀기.

2009. 6. 12. 15:20프로그래밍/Object-C

728x90
반응형
배경음악을 틀어주는 방법입니다.
프레임워크(AVFoundation.framework)를 추가해주어야 합니다.(찾을 수 없을 경우에는 아래 위치까지 찾아들어가서 추가해주면됩니다.)
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.2.sdk/System/Library/Frameworks/AVFoundation.framework
실행할때는 Simulator - 2.2로 설정해주세요.
주기적으로 호출되는 함수에 [player play];를 추가해주면 긴 음악이 플레이됩니다.
이상하게 터치이벤트 함수에서는 호출해도 플레이되지 않습니다.

한번 시작된 음악이 끝나게되면...
사용자의 이벤트에 따라서 아래와 같이 추가해주면 다시 음악이 플레이되도록 합니다.
    if (self.player.playing == NO)
        [player play];




.h 파일에 아래 부분을 추가해줍니다.
#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
#import <AudioToolbox/AudioToolbox.h>

@interface EAGLView : UIView
{
    AVAudioPlayer* player;
}
@property (nonatomic, assign)    AVAudioPlayer    *player;
@end


.m 파일에 아래부분을 추가해줍니다.
@implementation EAGLView;
@synthesize player;

- (void)awakeFromNib
{       
    // Load the array with the sample file
    NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: [[NSBundle mainBundle] pathForResource:@"grabbag" ofType:@"m4a"]];
    self.player = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil];   
    [fileURL release];
}

- (void)drawView
{
    [player play];
}

- (void)dealloc
{
   [player release];
}
@end
728x90
반응형