AVAudioPlayer在iPhone 5上不起作用

时间:2012-12-04 19:18:48

标签: iphone ios ios6 avaudioplayer iphone-5

有没有人使用iPhone 5遇到过AVAudioPlayer的问题?我的代码在iPhone 4,iPhone 4S和iPad(第3代)上运行正常,但它现在随机无法在iPhone 5上运行。我看到了这个问题,但没有人解决实际问题:

AVAudioPlayer is not working in iPhone 5

NSURL *soundURL = [self urlForAlarmSong:songKey];    
NSError *err;
self.audioAlert = [[[AVAudioPlayer alloc] initWithContentsOfURL:soundURL error:&err] autorelease];

[self.audioAlert prepareToPlay];
currentVolume=[MPMusicPlayerController applicationMusicPlayer].volume;
[[MPMusicPlayerController applicationMusicPlayer] setVolume:1.0];

[self.audioAlert play];

audioAlert是一个AVAudioPlayer我在我的标题中声明了(保留,非原子)。 err变量每次都是null,即使它不能在iPhone 5上播放。这个代码每次都在iPhone 4,iPhone 4S和iPad(第三代)上运行。

有没有人有任何想法?感谢

2 个答案:

答案 0 :(得分:1)

 -(void)viewDidLoad

  {

  NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"click2"         ofType:@"mp3"]];

    NSError *error;
    audioPlayer = [[AVAudioPlayer alloc]initWithContentsOfURL:url error:&error];
    if(error)
    {
        NSLog(@"error in audio player:%@",[error localizedDescription]);
    }
    else

    {

     audioPlayer.delegate=self;

     [audioPlayer prepareToPlay];
    }

   }

按钮操作,

-(IBAction)SoundButton:(id)sender

     {

       [audioPlayer play];

     }

在你的.h文件中,不要忘记导入

   #import  AVFoundation/AVFoundation.h

并添加委托AVAudioPlayerDelegate

答案 1 :(得分:0)

确保设备的声音开关未处于“静音”且音量足够高。

看起来非常明显,但它可以节省数小时的压力。