2012-01-03 2 views
0

pickerView 컨트롤러를 사용하는 여러 사운드 앱이있는 음악 플레이어가 하나 있지만 사운드를 출력하지 못합니다. 누구든지 내 코드 문제를 해결할 수 있습니까? 다음은 문제 해결을위한 코드입니다.iOS : 내 사운드 파일은 PickerViewController에서 재생할 수 없습니다.

.H 파일

#import <UIKit/UIKit.h> 
#import <AVFoundation/AVFoundation.h> 


@interface ViewController : UIViewController <UIPickerViewDelegate, UIPickerViewDataSource, AVAudioPlayerDelegate> { 

    UIPickerView  *picker; 
    UILabel   *musicTitle; 
    NSMutableArray  *musicList; 
    AVAudioPlayer  *audioPlayer; 


} 


@property (nonatomic, retain) IBOutlet UIPickerView *picker; 
@property (nonatomic, retain) IBOutlet UILabel *musicTitle; 
@property (nonatomic, retain) NSMutableArray *musicList; 

-(IBAction)playSelectedMusic:(id)sender; 


@end 

하는 .m 파일

 - (void)viewDidLoad 
     { 
      [super viewDidLoad]; 

      musicList = [[NSMutableArray alloc] initWithObjects:@"music1",@"music2",@"music3",@"music4",@"music5", 
         @"music6",nil]; 
     } 

    -(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row 
      inComponent:(NSInteger)component 
    { 



     if ([[musicList objectAtIndex:row] isEqual:@"music1"]) 
     { 


      NSURL *path = [[NSBundle mainBundle] URLForResource:@"music1" withExtension:@"mp3"]; 
      AVAudioPlayer *theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:path error:NULL]; 


      theAudio.delegate = self; 
      [theAudio play]; 

      NSString *resultString = [[NSString alloc] initWithFormat: 
             @"music1", 
             [musicList objectAtIndex:row]]; 
      musicTitle.text = resultString; 


     } 

-(IBAction)playSelectedMusic:(id)sender{ 

    how do i call the didSelectRow & put it here ? 

} 

답변

0
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row 
     inComponent:(NSInteger)component 

pickerview.delegate = 자기를 설정해보십시오;

은 명시 적으로> playSelected 음악 버튼이 필요하지 않은 선택기에 대한 델리게이트를 설정하면 자동으로 호출됩니다.

+0

나는 pickerview.delegate = self를 설정하려고합니다. 빌드 할 때이 오류가 나타납니다. 함수 포인터를 찾을 수 없습니다. CreateAudio – Amink

+0

나는 pickerview.delegate = self를 설정하려고합니다. 빌드 할 때이 오류가 나타납니다. 내 콘솔에서 : CFBundle/CFPlugIn (번들,로드되지 않음)의 팩토리에 대한 CreateAudio 함수 포인터를 찾을 수 없음 – Amink

+0

pls 친절하게도이 링크 참조 https : //discussions.apple.com/thread/2220669? start = 0 & tstart = 0 – raghul