2014-03-04 75 views
2

我知道存在关于保存到磁盘的许多问题,但其中的尼尼帮助我。下载MP3文件,保存到磁盘,并将其作为URL读取

在我的应用程序中,我使用的是必须从网址读取的播放器,并且此网址不能是流,我的意思是它必须位于设备上。 (因为我对音频进行了特殊处理,并且流式传输对此不起作用)。

所以我下载的文件,像这样:

 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

你的问题到底是什么?您的代码是否正在工作,或者您在询问“幕后机制”如何工作? – sangony

+0

编辑该问题 – MCMatan

+1

有什么问题?下载部分?或玩家部分?你可以用另一个播放器播放下载的文件吗? – Merlevede

回答

0

感谢试图帮助,代码是完全正常的试图运行是在模拟器上出于某些未知的原因....对不起!并再次感谢。

相关问题