2

我正在尝试让应用程序播放通过 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实际上是指一个现有的文件。如何指定完整路径而不仅仅是名称来加载音频?

4

1 回答 1

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;
}
于 2014-05-31T18:14:00.173 回答