3

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

AVAudioPlayer 在 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 变量每次都为空,即使它不在 iPhone 5 上播放也是如此。这段代码每次在 iPhone 4、iPhone 4S 和 iPad(第 3 代)上都能完美运行。

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

4

2 回答 2

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

于 2012-12-05T06:54:14.287 回答
0

确保设备的声音开关没有处于“静音”状态并且音量足够高。

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

于 2012-12-04T19:41:08.317 回答