如何从Urban Airship的NSLibraryDirectory播放音频文件?

时间:2011-12-09 23:54:27

标签: iphone in-app-purchase urbanairship.com audio-player

我正在使用Urban Airship来管理应用内购买的非易耗音频文件。 UA将文件存储在库目录中,我想在用户按下按钮时简单地播放特定文件。我一直在玩下面推荐的代码,但似乎无法弄明白。任何人都可以从目录中提供有关如何播放和音频文件的更多详细信息吗?

NSString *productId = @"YOUR PRODUCT ID";
NSString *filename = @"YOUR FILE NAME";

NSString* libraryPath = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0];
// build the fill paths by appending ua and downloads to the base libraryPath
libraryPath = [libraryPath stringByAppendingPathComponent:@"ua"];
libraryPath = [libraryPath stringByAppendingPathComponent:@"downloads"];
// Append the product id:
NSString *downloadDirectory = [libraryPath stringByAppendingPathComponent:productId];
// now append your filename
NSString *fullPathToMyFile = self.filePath = [downloadDirectory stringByAppendingPathComponent:filename];
  • 注意:
  • productid我假设是com.company.application.product
  • 文件名我假设是文件解压后的文件名(上传到UA的文件名) - 其余的似乎构建了文件的位置,但我得到一个“未找到”属性'文件路径'错误。我应该在哪里定义'filepath'?
  • 我当时正想着玩游戏方法:
player = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:fullPathToMyFile error:nil]];
[player play];

1 个答案:

答案 0 :(得分:0)

检查文件的路径,即使它存在 你可以看到所有文件在执行NSLog时都通过了。

NSLog(@"fullPathToMyFile = %@",fullPathToMyFile);

如果您使用模拟器,则可以在找到文件时转到文件夹。