在我的应用程序中,我有五个按钮,每个按钮有五首歌曲。在主视图中,视图中有一个星形(包含五个末端)。当用户将按钮拖动到星形的末尾时,它应播放该歌曲。链接这个有四个,我们想把这些歌曲混合成一个文件,如铃声保存到tmp目录。我为此尝试了很多,但我无法得到问题的答案。
我正在使用的代码是:
- (void) doAudioCallback: (NSTimer *)timer {
NSString *resName1 = @"drum1.aif";
NSString *resName2 = @"drum2.aif";
NSString *resPath1 = [[NSBundle mainBundle] pathForResource:resName1 ofType:nil];
NSString *resPath2 = [[NSBundle mainBundle] pathForResource:resName2 ofType:nil];
NSString *tmpDir = NSTemporaryDirectory();
NSString *tmpFilename = @"MixedoftwoSongs.aif";
NSString *tmpPath = [tmpDir stringByAppendingPathComponent:tmpFilename];
OSStatus status;
if (status == OSSTATUS_MIX_WOULD_CLIP) {
} else {
NSURL *url = [NSURL fileURLWithPath:tmpPath];
NSData *urlData = [NSData dataWithContentsOfURL:url];
NSLog(@"wrote mix file of size %d : %@", [urlData length], tmpPath);
AVAudioPlayer *avAudioObj = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
self.avAudio = avAudioObj;
[avAudioObj prepareToPlay];
[avAudioObj play];
}
}
答案 0 :(得分:0)
我认为您必须使用“执行选择器”来延迟每个音频 [self performSelector:@selector(yourmethod)withObject:nil afterDelay:0.5];