小编use*_*413的帖子

kSystemSoundID_Vibrate无法使用AVAudioPlayer播放

我正在开发半双工VOIP通话应用程序.在那里我试图在地板交换期间与振动一起播放音调 - 进行地板交换以将讲话者从A改变为B或反之亦然以进行半双工呼叫.如果我尝试使用AudioServicesPlayAlertSound播放音调,那么它会在用户接听电话时播放声音,但不会在电话交换期间播放声音,因为呼叫音频可能存在混音问题.所以我用AVAudioPlayer的播放功能取代了AudioServicesPlayAlertSound.所以,现在我能够在通话期间完美地播放音调,即在地板交换期间,即它与VOIP呼叫音频混合良好.但是,如果我尝试使用AudioServicesPlayAlertSound添加振动功能,它不会振动设备,函数会被调用,但它不会生效.如果我评论出AVAudioPlayer' s功能播放音调,然后振动功能工作.有人可以建议我缺少什么吗?

片段:

NSLog(@"Play toneIncoming");
[_audioPlayerIncoming setDelegate:self];
[_audioPlayerIncoming play];
NSLog(@"vibrate now");
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
//OR AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);
Run Code Online (Sandbox Code Playgroud)

我尝试了2个以上的振动功能,但是只有当我注释掉AVAudioPlayer的播放功能时才能工作,但我需要为VOIP呼叫的不同事件播放特定的音调,所以我也需要这个功能.

objective-c playback avaudioplayer vibration ios

5
推荐指数
0
解决办法
1851
查看次数

标签 统计

avaudioplayer ×1

ios ×1

objective-c ×1

playback ×1

vibration ×1