下载mp3文件,保存到磁盘,并将其作为URL读取

时间:2014-03-04 14:26:29

标签: ios objective-c

我知道已经存在关于保存到磁盘的所有问题,但是他们中的nun帮助了我。

在我的应用程序中,我正在使用必须从网址读取的播放器,并且此网址不能通过流,我的意思是,它必须在设备上。 (因为我正在对音频产生特殊效果,而流式传输不适用于此)。

所以我正在下载文件:

      AFHTTPRequestOperation *operation;
   operation = [[AFHTTPRequestOperation alloc]initWithRequest:request];
    [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
    //Secusses

    NSData *resposeObject = responseObject;

       NSArray       *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,   NS  UserDomainMask, YES);
         NSString  *documentsDirectory = [paths objectAtIndex:0];

        NSString  *filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectory,@"filename.mp3"];
        [responseObject writeToFile:filePath atomically:YES];


     } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
          //Fail;
     }];

在我下载之后,我需要在这个方法中作为网址播放:

   self.audioMusicPlayer = [AEAudioFilePlayer audioFilePlayerWithURL:[NSURL URLWithString:someFile]      audioController:_audioController error:&error]; 

我正在努力理解我的数据是如何保存为mp3文件的,然后将其作为磁盘上的网址播放..

我设法播放我的应用程序中没有下载的文件,它看起来像这样:

NSError *error = nil;
        self.audioMusicPlayer = [AEAudioFilePlayer audioFilePlayerWithURL:[[NSBundle mainBundle]    URLForResource:@"RegevHodBetelemOhavim" withExtension:@"mp3"] audioController:_audioController     error:&error];

修改

这是我试图玩的方式,而且它不起作用

     NSArray       *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString  *documentsDirectory = [paths objectAtIndex:0];

         NSString  *filePath = [NSString stringWithFormat:@"%@/%@",    documentsDirectory,@"filename.mp3"];


    /*
      NSError *error = nil;
       self.audioMusicPlayer = [AEAudioFilePlayer audioFilePlayerWithURL:[[NSBundle mainBundle]    URLForResource:@"RegevHodBetelemOhavim" withExtension:@"mp3"] audioController:_audioController    error:&error];
       */

       NSError *error = nil;
       self.audioMusicPlayer = [AEAudioFilePlayer audioFilePlayerWithURL:[NSURL    URLWithString:filePath] audioController:_audioController error:&error]; 

1 个答案:

答案 0 :(得分:0)

感谢您试图提供帮助,代码非常好,试图运行是在模拟器上出于某种未知原因....抱歉!并再次感谢。