从文档文件夹加载音频样本

时间:2014-05-31 13:09:11

标签: c4

我正在尝试通过itunes文件共享添加应用播放音频文件。我已经管理应用程序来检索应用程序的沙箱文件夹的内容,但是我无法通过指定完整路径将这些文件加载​​到C4Sample中。

NSString *documentsFolder;
NSString *clickAudioPath;
C4Sample *clicksample;
-(void)setup {
    // Retrieve the app's Documents folder
    documentsFolder = [self applicationDocumentsDirectory];
    clickAudioPath = [NSString stringWithFormat:@"%@/click.mp3", documentsFolder];    

    // Add test click audio
    clicksample = [C4Sample sampleNamed:clickAudioPath];
    [clicksample prepareToPlay];
    [clicksample play];
}
// Get Documents folder
- (NSString *) applicationDocumentsDirectory{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
    return basePath;
}

上面的代码没有播放任何声音,虽然我加倍检查clicksample实际上是指现有文件。如何指定完整路径而不仅仅是加载音频的名称?

1 个答案:

答案 0 :(得分:1)

添加如下新方法。

-(id) initWithURL:(NSURL *) soundFileURL
{
    self = [super init];
    if(self != nil) {
        _player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL error:nil];
        self.enableRate = YES;
        self.player.delegate = self;
        [self setup];
   }
   return self;
}