iOS系统声音无法播放

7

我正在尝试在运行iOS 10.3.1的应用程序中实现系统声音播放。

我遇到的问题是,在viewDidLoad中进行调试时,声音可以播放。但是当应用程序正常运行时,它总是振动。

AudioServicesPlayAlertSoundWithCompletion(1107, nil);

当我想在应用程序的特定位置使用相同的系统声音时,应该产生声音的适当位置并未发出任何声音或振动,无论是在调试模式还是正常运行中。
在应用程序运行时,我看不到任何错误或警告。 编辑*添加了一些代码:
- (void)viewDidLoad
{
    [super viewDidLoad];
    AudioServicesPlayAlertSoundWithCompletion(1107, nil);
    //AudioServicesPlayAlertSoundWithCompletion(1100, nil); (same)
}

无论手机铃声是否开启,或者是否将手机连接到Xcode,此代码始终只会震动。

如果有意义的话,我已经将代码导入。

#import <AVFoundation/AVFoundation.h>
#import <CoreLocation/CoreLocation.h>
#import "CoreLocationController.h"
#import <AudioToolbox/AudioServices.h>

有谁能帮忙吗?


你是在使用设备还是模拟器? - Shabir jan
你能分享代码吗? - Shabir jan
是的,我已经将它切换到开启状态,并且当我锁定手机时,可以听到声音。 - Borce Ivanovski
在设置中有任何设置需要指定系统声音吗?也许我在那里漏掉了什么。 - Borce Ivanovski
AudioServicesPlayAlertSound(1107) 我在viewDidLoad中尝试了一下,效果很好。 - Shabir jan
显示剩余8条评论
2个回答

3
你可以在Framework AVFAudio的头文件中找到一些有趣的内容。 分类 头文件 你应该查看这篇帖子,我认为它可能会对你有所帮助。 如何播放警报声音
1) AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);
2) AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

两个函数都可以使iPhone振动。但是,当你在不支持振动的设备上使用第一个函数时,它会播放一声蜂鸣声。另一方面,第二个函数在不支持的设备上不起作用。因此,如果您想连续震动设备以作为警报,常识告诉我们应该使用第二个函数。

0

有两个音量按钮(增大和减小)。在增大音量按钮旁边,有一个切换(开关)按钮,实际上是一个静音按钮。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接