gpt4 book ai didi

iphone - 从 IBAction 方法调用时听不到 AudioServicesPlaySystemSound 声音

转载 作者:行者123 更新时间:2023-11-28 19:12:17 25 4
gpt4 key购买 nike

我的 iOS 应用程序中的 AudioServicesPlaySystemSound 有问题。

我定义了一个播放系统声音的方法。当我从 viewDidLoad 调用该方法时,我可以听到声音播放,但是当我从按钮处理程序调用它时,我听不到声音播放。

这是来 self 的 View Controller 的代码:

SystemSoundID startSound = 0;

-(void)playStartSound
{
AudioServicesPlaySystemSound(startSound);
}

-(void)viewDidLoad
{
NSURL *urlStart = [[NSBundle mainBundle] URLForResource:@"Beep" withExtension:@"wav"];
AudioServicesCreateSystemSoundID((CFURLRef)urlStart, &startSound);

[self playStartSound];

[super viewDidLoad];
}

- (IBAction)start:(id)sender
{
[self playStartSound];
}

IBAction 方法与按钮相关联。当我选择按钮时,会调用 playStartSound 方法,但听不到声音。

在调用 dealloc 方法之前,不会使用 AudioServicesDisposeSystemSoundID 处理系统声音。

我试过从 playStartSound 中调用 AudioServicesCreateSystemSoundID,但没有任何区别。

该应用程序还使用 AV Foundation、Media Player、Core Media、Core Video 和 Core Location。我想知道其中一个是否会干扰 AudioToolbox?

更新:我刚刚组装了一个简单的应用程序,其中只包含上述代码和一个按钮,当我选择按钮时声音播放得很好。

然后我从我的 Controller 中删除了所有视频捕获代码,现在音频播放正常了。

最佳答案

这不起作用,因为我的应用程序中有一个事件的视频捕获 session 。

当有事件的视频捕获 session 时,AudioServicesPlaySystemSound 将不会播放。

关于iphone - 从 IBAction 方法调用时听不到 AudioServicesPlaySystemSound 声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14627232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com