Iphone音频只在模拟器中工作不在设备
问题描述:
我已经设置了我的应用程序的一部分来播放声音。简单 - 但只能在模拟器中工作。Iphone音频只在模拟器中工作不在设备
INITING音频对话是这样的:
- (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;
}
播放声音,设置完成calback,并检查文件是这样的:
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");
}
在模拟器,找到该文件,播放声音和完成发生。在设备中,文件被找到,声音不播放,并且永远不会调用完成。
任何想法?非常感谢你,我的额头和桌面都很欣赏任何回复...... :)
答
好的, 所以有一些事情我改变了,让这个工作。在我面前没有代码,稍后会尝试添加。
- 我停止使用系统声音并开始使用AVAudioPlayer代替。
- 我没有将我的UIView设置为音频代理
- 未开始音频会话。现在我正在启动initNib函数中的音频会话(我看到说使用awakeFromNib的tutrorials,但awakeFromNib永远不会被触发...)