Iphone音频仅在模拟器中工作而不在设备中

时间:2010-09-14 07:04:07

标签: iphone

我已经设置了部分应用来播放声音。很简单 - 但只能在模拟器中工作。

以这种方式进行音频会话:

  - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
        // Custom initialization
    }

 AudioSessionInitialize(NULL,NULL,NULL,NULL);
 AudioSessionSetActive(YES);
 return self;
}

播放声音,设置完成回调,并以这种方式检查文件:

NSString *path = [[NSBundle mainBundle] pathForResource:fileName ofType:@"mp3"];

 AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:path], &soundID);
 AudioServicesAddSystemSoundCompletion (soundID,NULL,NULL,
             completionCallback,
             (void*) self);


 if([[NSFileManager defaultManager] fileExistsAtPath:path])
 {
  NSLog(@"Playing Sound" );
  AudioServicesPlaySystemSound(soundID);
 }
 else {
  NSLog(@"NO SOUND");
 }

在Simulator中,找到文件,播放声音并完成。在设备中,找到文件,声音不播放,永远不会调用完成。

有什么想法吗?非常感谢,我的额头和桌子都欣赏任何回复...... :)

1 个答案:

答案 0 :(得分:0)

行, 所以我改变了一些东西以使其工作。没有在我面前的代码,稍后会尝试添加。

  1. 我停止使用系统声音并开始使用AVAudioPlayer。
  2. 我没有将我的UIView设置为音频代表
  3. 没有开始音频会话。现在我在initNib函数中启动音频会话(我看到说使用awakeFromNib的tutrorials,但awakeFromNib从未触发......)
相关问题