2012-11-26 61 views
3

我正在開發iPhone應用程序。在這個應用程序中,我使用AVAudioPlayer播放音頻。 這是我播放聲音的代碼。AVAudioPlayer不能在iPhone 5中工作

NSString* resourcePath = [[NSBundle mainBundle] resourcePath]; 
    resourcePath = [resourcePath stringByAppendingString:@"/sound.mp3"]; 

    NSError* err; 

    player_ = [[AVAudioPlayer alloc] initWithContentsOfURL: 
       [NSURL fileURLWithPath:resourcePath] error:&err]; 

    if(err) 
    { 
    } 
    else 
    { 
     [player_ prepareToPlay]; 

     [player_ play]; 

     int playingLoops = 0; 

     player_.numberOfLoops = playingLoops; 
    } 

據沃金上除了iPhone5.While iPhone設備罰款我運行在iPhone 5上的應用程序,我得到以下錯誤,然後應用程序崩潰。

2012-11-26 09:02:28.484 test[728:1dd03] <0xb0081000> Error '!obj' trying to fetch default input device's sample rate 
2012-11-26 09:02:28.484 test[728:1dd03] <0xb0081000> Error getting  audio input device sample rate: '!obj' 
2012-11-26 09:02:28.494 test[728:1dd03] <0xb0081000> AQMEIOManager::FindIOUnit: error '!dev' 
+0

這些都是奇怪的錯誤。我建議您查看播放器的設置字典,以確定採樣率是否正確。 – Daniel

+0

我得到了同樣的問題......所有設備的作品除iPhone5.Did你修好了嗎?如果(做)請告訴我~~ thx ~~ –

回答

0

我也面臨同樣的問題給出同樣的錯誤。當試圖解決這個問題時,我注意到代碼中沒有問題。我們需要更新媒體播放器或安裝Flash播放器,並且工作正常。

0

你必須AVAudioPlayerDelegate添加到您的.h文件,下面的代碼到你的.m文件

NSString* resourcePath =[[NSBundle mainBundle]pathForResource:@"sound" ofType:@"mp3"]; 
NSError* err; 
AVAudioPlayer *audioplayer =[[AVAudioPlayer alloc]initWithContentsOfURL:[NSURL fileURLWithPath: resourcePath] error:&err]; 
audioplayer.delegate=self; 
if(err) 
{ 
    NSLog(@"%@",err); 
} 
else 
{ 
    [audioplayer prepareToPlay]; 
    [audioplayer play]; 
} 

此代碼爲我工作和接受的答案,如果它工作。

0

安布,嘗試下面的代碼。在我的結束它工作正常。

NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/audiofile.mp3", [[NSBundle mainBundle] resourcePath]]]; 

NSLog(@"File path is:->%@",[NSString stringWithFormat:@"%@/audiofile.mp3", [[NSBundle mainBundle] resourcePath]]); 

NSFileManager* manager; 
manager = [NSFileManager defaultManager]; 
if([manager fileExistsAtPath:[NSString stringWithFormat:@"%@/audiofile.mp3", [[NSBundle mainBundle] resourcePath]]]) 
{ 
    printf("file Exists...\n\n"); 
} 
else 
    printf("File not exist...\n\n"); 

NSError *er; 
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error]; 
audioPlayer.numberOfLoops = -1; 

if (audioPlayer == nil) 
    NSLog([er description]);     
else 
    [audioPlayer play]; 

在任何問題,請讓我知道。而且,請檢查您的控制檯的完整路徑和文件是否存在。

相關問題