当我尝试在iPhone设备中构建它时,我的应用程序可能有一个原因,我听不到声音,我也无法使用设备的音量按钮..当我在模拟器中构建它时,它的工作原理完美..我尝试使用下面的代码,但它也没有工作..有人可以帮助我...谢谢..
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);
NSString *soundPath = [[NSBundle mainBundle] pathForResource:@"sounds" ofType:@"wav"];
AVAudioPlayer *soundPlay = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:soundPath] error:NULL];
soundPlay.volume = 1.0;
self->puzzSFX = soundPlay;
soundPlay.numberOfLoops = 0;
if ([soundPlay currentTime] != 0) [soundPlay setCurrentTime:0];
[soundPlay play];
soundPlay.delegate = self;
PS: 我试图通过耳机调节音量然后噗它会开始工作..
答案 0 :(得分:0)
问题可能与从NSString路径到NSURL的转换有关,您需要检查特殊URL字符是否被转义(在模拟器中可能没有的字符,但只在设备上)。尝试这样做:
NSURL *fileURL = [NSURL URLWithString:[soundPath stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
然后使用此NSURL启动AVAudioPlayer。