我想在触摸事件上播放媒体。 在我的应用程序中有4个按钮。 当用户使用第一个手指点击第一个按钮然后想要在button1上开始播放music1。 使用第二根手指立即点击按钮2然后想要在按钮2上开始播放music2(仍然没有释放他的第一根手指)。 使用第3个手指立即点击按钮3然后想要在按钮3上开始播放音乐3(仍然用户没有释放他的第一个手指和第二个手指)。 我该如何实现呢? 我不知道这个。 请帮帮我。
我只知道如何使用AVAudioPlayer播放音乐。
提前致谢
答案 0 :(得分:0)
这段代码对我有用。 的 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.
}