在iPhone SDK中混音五首歌曲



在我的应用程序中,我有五个按钮,每个按钮有五首歌曲。在主视图中,视图中有一颗星形(包含五个末端)。当用户将按钮拖动到星形的末尾时,它应该播放歌曲。链接这个有四个,我们想将这些歌曲混合到一个文件中,就像铃声一样保存到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]; 
    }
} 

我认为您必须使用执行选择器来延迟每个音频[self performSelector:@selector(yourmethod) withObject:nil afterDelay:0.5];

最新更新