2012-10-12 33 views
0

我不是讓聲音在這裏獲取的音頻文件是我的代碼如何從項目iphone

NSString *filepath=[[NSBundle mainBundle]pathForResource:@"horror (2)" ofType:@"mp3" ]; 
NSLog(@"filepath=%@",filepath); 
url=[[NSURL alloc]initFileURLWithPath:filepath ]; 
NSLog(@"url==%@",url); 
audioplayer=[[AVAudioPlayer alloc]initWithContentsOfURL:url error:nil ]; 
[self.audioplayer prepareToPlay]; 
self.audioplayer.currentTime=0; 
[self.audioplayer play]; 
audioplayer.numberOfLoops=-1; 
+0

如果用'NSError *'的地址替換'nil'的錯誤信息,然後打印出可能導致錯誤的詳細信息,會發生什麼? –

+0

你的日誌語句顯示什麼? –

回答

1

檢查文件是否存在什麼錯誤AVAudioPlayer規定:

NSString *filepath=[[NSBundle mainBundle]pathForResource:@"horror (2)" ofType:@"mp3" ]; 
if([[NSFileManager defaultManager] fileExistsAtPath:filepath]) 
{ 
    url=[[NSURL alloc]initFileURLWithPath:filepath]; 
    NSLog(@"url==%@",url); 
    if(url) 
    { 
    NSError *error; 
    audioplayer=[[AVAudioPlayer alloc]initWithContentsOfURL:url error:&error]; 
    self.audioplayer.numberOfLoops=-1; 
    [self.audioplayer prepareToPlay]; 

    if (self.audioPlayer == nil) 
     NSLog([error description]);    
    else 
     [self.audioplayer play]; 
    } 
    else 
    { 
    NSLog(@"URL not created"); 
    } 
} 
else 
{ 
    NSLog(@"File not exists"); 
} 
+0

我只通過耳機獲得聲音有什麼問題幫助我 – jonty

+0

檢查iPhone不沉默或振動模式如果有幫助 –

0

檢查,從產生的錯誤實例化audioplayer變量:

... 
NSError *err; 
audioplayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&err]; 
NSLog(@"ERROR: %@", [err localizedDescription]); 
... 

這可能會爲您提供根本原因的線索的問題。