gpt4 book ai didi

ios - SystemSoundID 停止声音

转载 作者:行者123 更新时间:2023-11-28 22:52:54 24 4
gpt4 key购买 nike

在我的应用程序中,我将按钮设置为键盘。每个按钮的作用类似于钢琴键,您触摸按钮,按住时会播放声音,松开时会停止。对于此方法,我使用了两个 IBAction。一个用于 Touch Down(声音播放)和 Touch Up Inside(声音停止)。我正在使用 SystemSoundID 播放声音,因为 AVAudioPlayer 有延迟播放。唯一的问题是,当我按住按钮时,声音播放正常,但一旦我松开触摸,我的应用程序就会崩溃。以下是我的代码:

.h文件:

SystemSoundID *soundID;

.m文件:

- (IBAction)ASoundStart:(id)sender { 
NSString *soundFile = [[NSBundle mainBundle] pathForResource:@"P1:4t" ofType:@"mp3"];
AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:soundFile], &soundID);
AudioServicesPlaySystemSound(soundID);
[soundFile release];
}

- (IBAction)ASoundStop:(id)sender {
AudioServicesDisposeSystemSoundID(soundID);
}

最佳答案

我认为您错误地将 SystemSoundID 视为对象。它只是一个整数。

如果您查看 AudioServicesPlaySystemSound 的声明,请注意它的参数是 SystemSoundID 而不是 SystemSoundID *

void AudioServicesPlaySystemSound (
SystemSoundID inSystemSoundID
);

因此,如果您只是将 header 中的 SystemSoundID *soundID 更改为 SystemSoundID soundID,我相信它应该可以工作。

快乐编码。

关于ios - SystemSoundID 停止声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11497846/

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