2016-04-13 6 views
0

Ich möchte Medien auf Touch-Event spielen. In meiner Anwendung haben Sie 4 Taste. Wenn der Benutzer mit dem 1. Finger auf die 1. Schaltfläche klickt, wird Musik1 auf Taste1 abgespielt. Sofortiger Klick auf die Taste 2 mit dem 2. Finger und dann Musik2 auf Taste 2 abspielen (der Benutzer hat noch nicht seinen 1. Finger losgelassen). Sofortiger Klick auf die Taste 3 mit dem 3. Finger und dann Wiedergabe von Musik3 auf Taste 3 (der Benutzer hat noch nicht seinen 1. Finger freigegeben & 2. Finger). Wie kann ich das umsetzen? Ich habe keine Ahnung davon. Bitte helfen Sie mir.Spielen Sie mehrere Medien gleichzeitig auf Touch-Event wie Piano

Ich weiß nur, wie man Musik mit AVAudioPlayer spielt.

Vielen Dank im Voraus

Antwort

0

Dieser Code funktioniert für mich. ViewController.h

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

@interface ViewController : UIViewController 
{ 
    NSString *filePath; 
} 
@property(strong,nonatomic) AVAudioPlayer *playerAudio1; 
@property(strong,nonatomic) AVAudioPlayer *playerAudio2; 
@property(strong,nonatomic) AVAudioPlayer *playerAudio3; 
@property(strong,nonatomic) AVAudioPlayer *playerAudio4; 
-(IBAction)btnDownload:(id)sender; 
-(IBAction)btn1_DownAction:(id)sender; 
-(IBAction)btn2_DownAction:(id)sender; 
-(IBAction)btn3_DownAction:(id)sender; 
-(IBAction)btn4_DownAction:(id)sender; 
-(IBAction)btn_Action:(id)sender; 

@end 

ViewController.m

#import "ViewController.h" 

@interface ViewController() 

@end 

@implementation ViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
} 

-(IBAction)btnDownload:(id)sender 
{ 
    NSString *urlToDownload = @"http://leocan.co/Salon/images/album/videos/b.mp3"; 

    filePath= [appObj downloadFile:urlToDownload filename:@"myAudio.mp3"]; 
} 

-(IBAction)btn1_DownAction:(id)sender 
{ 
    NSString *soundFile; 
    soundFile = [[NSBundle mainBundle] pathForResource:@"demo1" ofType:@"mp3"]; 
    NSURL *fileURL = [NSURL fileURLWithPath:soundFile]; 
    self.playerAudio1 = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil]; 
    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; 
    [[AVAudioSession sharedInstance] setActive: YES error: nil]; 
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 
    self.playerAudio1.numberOfLoops = -1; 
    self.playerAudio1.volume=1; 
    [self.playerAudio1 play]; 
    NSLog(@"hold Down"); 

} 

-(IBAction)btn2_DownAction:(id)sender 
{ 
    NSString *soundFile; 
    soundFile = [[NSBundle mainBundle] pathForResource:@"demo2" ofType:@"mp3"]; 
    NSURL *fileURL = [NSURL fileURLWithPath:soundFile]; 
    self.playerAudio2 = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil]; 
    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; 
    [[AVAudioSession sharedInstance] setActive: YES error: nil]; 
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 
    self.playerAudio2.numberOfLoops = -1; 
    self.playerAudio2.volume=1; 
    [self.playerAudio2 play]; 
    NSLog(@"hold Down"); 
    } 

-(IBAction)btn3_DownAction:(id)sender 
{ 
    NSString *soundFile; 
    soundFile = [[NSBundle mainBundle] pathForResource:@"demo3" ofType:@"mp3"]; 
    NSURL *fileURL = [NSURL fileURLWithPath:soundFile]; 
    self.playerAudio3 = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil]; 
    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; 
    [[AVAudioSession sharedInstance] setActive: YES error: nil]; 
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 
    self.playerAudio3.numberOfLoops = -1; 
    self.playerAudio3.volume=1; 
    [self.playerAudio3 play]; 
    NSLog(@"hold Down"); 

} 

-(IBAction)btn4_DownAction:(id)sender 
{ 
    NSString *soundFile; 
    soundFile = [[NSBundle mainBundle] pathForResource:@"demo6" ofType:@"mp3"]; 
    NSURL *fileURL = [NSURL fileURLWithPath:soundFile]; 
    self.playerAudio4 = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil]; 
    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; 
    [[AVAudioSession sharedInstance] setActive: YES error: nil]; 
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 
    self.playerAudio4.numberOfLoops = -1; 
    self.playerAudio4.volume=1; 
    [self.playerAudio4 play]; 
    NSLog(@"hold Down"); 
    } 

-(IBAction)btn_Action:(id)sender 
{ 
    NSLog(@"hold release"); 
    if([sender tag]==1) 
    { 
     [self.playerAudio1 stop]; 
    } 
    else if([sender tag]==2) 
    { 
     [self.playerAudio2 stop]; 
    } 
    else if([sender tag]==3) 
    { 
     [self.playerAudio3 stop]; 
    } 
    else 
    { 
     [self.playerAudio4 stop]; 
    } 
} 

- (void)didReceiveMemoryWarning { 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
}