1

我的应用程序中可能有一个原因,当我尝试在 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:我尝试通过耳机调节音量然后poo它会开始工作..

4

1 回答 1

0

问题可能与从 NSString 路径到 NSURL 的转换有关,您需要检查特殊 URL 字符是否被转义(模拟器中可能没有的字符,但仅在设备上)。尝试这样做:

NSURL *fileURL = [NSURL URLWithString:[soundPath stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

然后用这个 NSURL 初始化你的 AVAudioPlayer。

于 2012-09-28T07:36:09.273 回答